使用JQuery从现有UL插入LI到UL

时间:2013-02-05 12:08:10

标签: javascript jquery html-lists

我有2个UL和1个按钮

<ul class="droptrue ui-sortable" id="sortable1" style="min-height: 128px; mozuserselect: none;"
        unselectable="on">
        <li id="article_1" class="ui-state-default">
            <input type="checkbox" id="1" />
            Article #1</li>
        <li id="article_2" class="ui-state-default">
            <input type="checkbox" id="2" />
            Article #2</li>
        <li id="article_3" class="ui-state-default">
            <input type="checkbox" id="3" />
            Article #3</li>
</ul>


<ul class="droptrue ui-sortable" id="sortable2" style="min-height: 128px; mozuserselect: none;"
        unselectable="on">
        <li id="article_4" class="ui-state-default">
            <input type="checkbox" id="4" />
            Article #4</li>
        <li id="article_5" class="ui-state-default">
            <input type="checkbox" id="5" />
            Article #5</li>
        <li id="article_6" class="ui-state-default">
            <input type="checkbox" id="6" />
            Article #6</li>
    </ul>

<input type="button" id="add" value=">>" style="width: 15px" onclick="AddToList()" />

现在点击按钮我需要删除相应的li表单“sortable1”并将其插入“sortable2”

我写了像

这样的函数
function AddToList() {
        var vals = $('#sortable1 input:checkbox:checked').map(
         function() {               
             $("#sortable2").append($(this).parent().html());
             $(this).parent().remove();
             return this.id;
         }).get().join(',');                        
    }

但是此函数删除了li,但只将复选框添加到其他ul中。如果我给$(this).parent()。parent()。html()将所有li添加到其他ul.Please告诉我我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

使用appendTo方法。

 var vals = $('#sortable1 input[type=checkbox]:checked').map(function() { 
     $(this).parent().appendTo('#sortable2');
     return this.id;
 }).get().join(',');