我有两个 Html.ListBoxFor 称为 AB

1) A 有从 DB 填充的数据,B 为空。

2)我想要一个像 this 这样的功能,其中列表 A 中的项目被放置到列表 B 中。

$('.add').on('click', function() {
    var options = $('select.multiselect1 option:selected').sort().clone();
    $('select.multiselect2').append(options);
});
$('.addAll').on('click', function() {
    var options = $('select.multiselect1 option').sort().clone();
    $('select.multiselect2').append(options);
});
$('.remove').on('click', function() {
    $('select.multiselect2 option:selected').remove();
});
$('.removeAll').on('click', function() {
    $('select.multiselect2').empty();
});

3)我用asp.net mvc试过这个,但我无法在模型和 Controller 中获取选定的项目。

4)我想要一种可以在 asp.net mvc 中执行此操作的方法。如果 mvc 中有某种方式,那么我就可以将该数据存储在 SQL DB 中

5)它的jquery兄弟是here

任何帮助,将不胜感激

最佳答案

我认为这会对你有所帮助。

块引用

html文件

Fruits:
        <select multiple="multiple" id="a">
            <option value="1">Apple</option>
            <option value="2">Orange</option>
            <option value="3">Banana</option>
        </select>

        <input type="button" id="add" value="Add"/>
         <input type="button" id="addall" value="Add all"/>
        <select multiple="multiple" id="b">

        </select>

Javascript文件
$("#add").bind("click", function () {
        addOption(false);

 });

$("#addall").bind("click", function () {
    addOption(true);

});

function addOption(isAll){
    var option = $("#a option");
    if (!isAll) {
       option = $("#a option:selected");
    } else {
       $("#b").html("");
    }

    $(option).each(function () {
       var val = $(this).val();
       var text = $(this).text();
       $("#b").append($(this)[0].outerHTML);
       $(this).remove();
    });
}

10-07 18:56
查看更多