我有2个列表框(项目使用jquery在它们之间移动)。假设item1已被选中。然后,如果我同时选择item1和item2和item3,则仅应该在第二个列表框中插入item2和3。

我没有从Listbox1中删除项目。我只需要检查Listbox2中是否存在所选项目之一。

//Code
$('#btnAdd').click(function () {

    var selectedOptions = $('#<%=lstAllRole.ClientID %> option:selected');
    if (selectedOptions.length == 0) {
        alert("Please select option to move");
        return false;
    }

    if (selectedOptions.length == 1) {
        if ($("#<%=lstSelectedRole.ClientID %> option[value='" + selectedOptions.val() + "']").length > 0) {
        }
        else {
            $('#<%=lstSelectedRole.ClientID %>').append($(selectedOptions).clone());
        }
    }
    else if (selectedOptions.length > 1) {     // Selecting more than one item to move--only append items which are not in 2nd listbox

       // **I need to validate here**

    }
});

最佳答案

只需运行一个foreach函数,您将找到项目。

//码

else if (selectedOptions.length > 1) {

    $(selectedOptions).each(function () {
        if ($("#<%=lstSelectedRole.ClientID %> option[value='" + this.value + "']").length > 0) {

            // Do your stuff
        } else {
            $('#<%=lstSelectedRole.ClientID %>').append($(this).clone());
        }
    });
}

09-15 13:30