[英]How to remove the checked checkboxes from the list and add them to another list
如何从列表中删除选中的复选框并将它们添加到另一个列表?
$('#mer').click( function() {
//var unchecked = [];
$('input[type="checkbox"]').each (function() {
if (this.checked) {
var txt = $(this).next("label").text();
$('#ch').append($('<li>').append($(this).clone()).append(txt));
$(':checkbox:checked').attr('disabled', true);
$(':checkbox:checked').remove();
//$('.checklist').hide();
$('#ch').show();
//$('input[type="checkbox"]:not(:checked)').show('.checklist');
} /*else {
unchecked.push(this);
var txt1 = $(this).next("label").text();
$('.checklist').append($('<li/>').append($(this).clone()).append(txt1));
$('.checklist').show();
}*/
});
这很简单:
$('#from:checked').appendTo('#to');
#from
是父级(又名选择/复选框父级),to 是#to
是其他 select 或您希望将其放入的父级。
我不确定你到底想做什么,但这样的事情可能会奏效:
$('input[type="checkbox"]').each (function() {
if($(this).is('input:checkbox:checked')){
$(this).appendTo('whereverClassOrElement').remove();
}
});
我不确定你到底需要什么,但这里有一个简洁的交换样本。 如果您像这样设置 html:
<h3>List One</h3>
<ul id="listOne">
<li><label for="a">A</label><input type="checkbox" id="a" name="listOne"/></li>
<li><label for="b">B</label><input type="checkbox" id="b" name="listOne"/></li>
<li><label for="c">C</label><input type="checkbox" id="c" name="listOne"/></li>
</ul>
<br/>
<h3>List Two</h3>
<ul id="listTwo">
<li><label for="d">D</label><input type="checkbox" id="d" name="listTwo" checked/></li>
</ul>
然后可以这样写比较简单的 jQuery :
$(document).ready(function(){
$('input[type=checkbox]').live('click', function(event){
var t = $(this);
var from = 'listOne';
var to = 'listTwo';
if (!t.is(':checked')){
var swap = to;
to = from;
from = swap;
}
$('#'+to).append(t.attr('name', to).parent());
});
});
我在 jsfiddle 中有这个工作: http://jsfiddle.net/FgWhr/5/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.