0

我有 2 个 UL 和一个按钮

<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。请告诉我我在这里缺少什么?

4

1 回答 1

1

使用appendTo方法。

 var vals = $('#sortable1 input[type=checkbox]:checked').map(function() { 
     $(this).parent().appendTo('#sortable2');
     return this.id;
 }).get().join(',');
于 2013-02-05T12:12:10.513 回答