我通过jquery获取列表框中的所有选定值。在我的列表框中,我也完成了多选属性。我无法将我在列表框中选择的所有值检索到隐藏字段。只有最后选择的项目正在检索。如何使用jquery获取hiddenfield中的所有值?请帮忙。代码如下。
$("#button1").click(function () {
$("#ctl00_BodyContentPlaceHolder_ListBox1 > option:selected").each(function(){
//var selectedText = $('#ctl00_BodyContentPlaceHolder_ListBox1 option:selected').text();
//alert(selectedText);
$(this).remove().appendTo("#ctl00_BodyContentPlaceHolder_ListBox2");
var itemArray = [];
var arr = new Array();
$('#ctl00_BodyContentPlaceHolder_ListBox2 :selected').each(function(i, selected){
itemArray[i] = $(selected).text();
$('#ctl00_BodyContentPlaceHolder_hdnListItems').val(itemArray[i]);
alert(itemArray[i]);
});
});
});
答案 0 :(得分:0)
我认为是因为你在这里设置了最后一个值
$('#ctl00_BodyContentPlaceHolder_hdnListItems').val(itemArray[i]);
在最后一个循环之后itemArray[i]
是最后一个项目
答案 1 :(得分:0)
显然,由于您将所选列表项vlaue附加到foreach循环中的隐藏字段,因此您只能保存最后一个值。
更正的功能发布在下面。
$("#button1").click(function() {
var itemArray = [];
$("#ctl00_BodyContentPlaceHolder_ListBox1 > option:selected").each(function() {
$(this).remove().appendTo("#ctl00_BodyContentPlaceHolder_ListBox2");
var arr = new Array();
$('#ctl00_BodyContentPlaceHolder_ListBox2 :selected').each(function(i, selected) {
itemArray.push($(selected).text());
});
});
$('#ctl00_BodyContentPlaceHolder_hdnListItems').val(itemArray);
});
检查并告诉我结果。