我有两个 Html.ListBoxFor
称为 A
和 B
。
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();
});
}