使用 jquery 更改复选框时如何克隆相似元素?
How to clone similar element when checkbox change using jquery?
我目前有很多项目,每个项目里面都有一个数据列表。我想要实现的是,当我 select 具有与 itemName
相同匹配属性的复选框时,包含附加数据的匹配 div 被附加到容器。我在这里写了一些代码:
<div class="item" itemName="itemOne">
<h2> Item One </h2>
<ul>
<li> Data 1 </li>
<li> Data 2 </li>
<li> Data 3 </li>
</ul>
</div>
<div class="item" itemName="itemTwo">
<h2> Item Two </h2>
<ul>
<li> Data 1 </li>
<li> Data 2 </li>
<li> Data 3 </li>
</ul>
</div>
<ul class="itemSelection">
<li itemName="itemOne">
<label><input type="checkbox"/>Item One</label>
</li>
<li itemName="itemTwo">
<label><input type="checkbox"/>Item Two</label>
</li>
</ul>
<div id="container"></div>
如有任何帮助,我们将不胜感激。
您需要检查复选框的状态。如果复选框是 checked
使用 .appendTo()
to adding target element to #container
and if it is unchecked
use .remove()
删除它。
$(".itemSelection :checkbox").change(function(){
var itemName = $(this).closest("li").attr("itemName");
if (this.checked)
$(".item[itemName=" + itemName + "]").clone().appendTo("#container");
else
$("#container .item[itemName=" + itemName + "]").remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item" itemName="itemOne">
<h2> Item One </h2>
<ul>
<li> Data 1 </li>
<li> Data 2 </li>
<li> Data 3 </li>
</ul>
</div>
<div class="item" itemName="itemTwo">
<h2> Item Two </h2>
<ul>
<li> Data 1 </li>
<li> Data 2 </li>
<li> Data 3 </li>
</ul>
</div>
<ul class="itemSelection">
<li itemName="itemOne">
<label><input type="checkbox"/>Item One</label>
</li>
<li itemName="itemTwo">
<label><input type="checkbox"/>Item Two</label>
</li>
</ul>
<div id="container"></div>
我目前有很多项目,每个项目里面都有一个数据列表。我想要实现的是,当我 select 具有与 itemName
相同匹配属性的复选框时,包含附加数据的匹配 div 被附加到容器。我在这里写了一些代码:
<div class="item" itemName="itemOne">
<h2> Item One </h2>
<ul>
<li> Data 1 </li>
<li> Data 2 </li>
<li> Data 3 </li>
</ul>
</div>
<div class="item" itemName="itemTwo">
<h2> Item Two </h2>
<ul>
<li> Data 1 </li>
<li> Data 2 </li>
<li> Data 3 </li>
</ul>
</div>
<ul class="itemSelection">
<li itemName="itemOne">
<label><input type="checkbox"/>Item One</label>
</li>
<li itemName="itemTwo">
<label><input type="checkbox"/>Item Two</label>
</li>
</ul>
<div id="container"></div>
如有任何帮助,我们将不胜感激。
您需要检查复选框的状态。如果复选框是 checked
使用 .appendTo()
to adding target element to #container
and if it is unchecked
use .remove()
删除它。
$(".itemSelection :checkbox").change(function(){
var itemName = $(this).closest("li").attr("itemName");
if (this.checked)
$(".item[itemName=" + itemName + "]").clone().appendTo("#container");
else
$("#container .item[itemName=" + itemName + "]").remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item" itemName="itemOne">
<h2> Item One </h2>
<ul>
<li> Data 1 </li>
<li> Data 2 </li>
<li> Data 3 </li>
</ul>
</div>
<div class="item" itemName="itemTwo">
<h2> Item Two </h2>
<ul>
<li> Data 1 </li>
<li> Data 2 </li>
<li> Data 3 </li>
</ul>
</div>
<ul class="itemSelection">
<li itemName="itemOne">
<label><input type="checkbox"/>Item One</label>
</li>
<li itemName="itemTwo">
<label><input type="checkbox"/>Item Two</label>
</li>
</ul>
<div id="container"></div>