Как убрать отмеченные флажки из списка и добавить их в другой список - PullRequest
0 голосов
/ 07 июля 2011

Как убрать отмеченные флажки из списка и добавить их в другой список?

      $('#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();

            }*/
       });

Ответы [ 3 ]

2 голосов
/ 07 июля 2011

Это очень просто:

$('#from :checked').appendTo('#to');

Где #from является родителем (он же select / checkbox parent), а to * #to это другой выбор или родительхочу поставить его на.

0 голосов
/ 07 июля 2011

Я не уверен, что именно вам нужно, но вот пример аккуратного обмена. Если вы настроили свой 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/

0 голосов
/ 07 июля 2011

Я не совсем уверен, что вы пытаетесь сделать, но что-то вроде этого может сработать:

$('input[type="checkbox"]').each (function() {
if($(this).is('input:checkbox:checked')){
    $(this).appendTo('whereverClassOrElement').remove();
}
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...