1

我通过 jquery 获取列表框中的所有选定值。在我的列表框中,我也完成了多选属性。我无法将在列表框中选择的所有值检索到隐藏字段。只有最后一个选定的项目正在检索。如何使用 jquery 获取隐藏字段中的所有值?请帮忙。代码如下。

 $("#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]);
                });
        });
    });
4

2 回答 2

0

我认为是因为您在这里设置了最后一个值

$('#ctl00_BodyContentPlaceHolder_hdnListItems').val(itemArray[i]);

在最后每个循环之后itemArray[i]是最后一项

于 2013-08-29T10:37:33.053 回答
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);
    });

检查并让我知道结果。

于 2013-08-29T10:46:59.523 回答