javascript - 将元素从一个 div 移动到另一个 div

标签 javascript jquery html twitter-bootstrap dom

这是我的现场演示:https://jsfiddle.net/johndoe1992/3uqg7y9L/

  1. 当我单击左侧面板上的某个按钮时,它必须克隆到右侧面板(请参阅实时演示)

  2. 从左侧面板单击此按钮时也必须添加 Bootstrap 类“禁用”。我们的左侧有禁用按钮,右侧有启用按钮

  3. 当我单击右侧面板上的某个按钮时,它必须重新定位回左侧面板(请参阅现场演示)

左侧有启用按钮,右侧没有按钮

我尝试使用此方法找到一个解决方案,该解决方案适用于 #1 和 #2,但我不知道如何处理 #3

$(this).clone().appendTo('.selected');
$(this).prop('disabled', true);

感谢您的帮助

最佳答案

首先,您需要使用委托(delegate)事件处理程序来处理动态添加到 .selected div 的按钮上的点击。

其次,您需要添加一种方法来识别在 .selected div 中单击了哪个按钮,并将其与 .base div 中的原始按钮进行匹配。为此,您可以使用 data 属性。从那里您只需设置 disabled 属性状态并remove() 克隆即可。像这样的事情:

<div class="base">
    <button type="button" class="btn btn-default" data-state="default">Text 1</button>
    <button type="button" class="btn btn-primary" data-state="primary">Text 2</button>
    <button type="button" class="btn btn-info" data-state="info">Text 3</button>
    <button type="button" class="btn btn-warning" data-state="warning">Text 4</button>
    <button type="button" class="btn btn-success" data-state="success">Text 5</button>
    <button type="button" class="btn btn-danger" data-state="danger">Text 6</button>
</div>
<div class="selected"></div>
$(document).on('click', '.btn', function() {
    if($(this).parent().attr("class") == "base") {
        $(this).clone().appendTo('.selected');
        $(this).prop('disabled', true);
    }
    else {
        $('.base').find('[data-state="' + $(this).data('state') + '"]').prop('disabled', false);
        $(this).remove();
    }
});

Updated fiddle

关于javascript - 将元素从一个 div 移动到另一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35607208/

相关文章:

javascript - jQuery JSON 结果中的 ForEach 数组值

javascript - 如何从异步调用返回响应?

javascript - javascript中的同步调用,但未处理同步

javascript - 如何使用 Javascript/JQuery 判断单选按钮是否处于未选中状态

html - 剪辑路径上的文本

javascript - 语句评估顺序

javascript - 根据屏幕尺寸调整 Div 大小并保持宽高比

css - 如何使 <div> 内联?所有 <div>,即使它们的总宽度大于其父级的宽度?

javascript - 配置 Node express 服务静态 bower_components?

html - 使用 flexbox CSS 的左列和堆叠右列