如何将jquery数组分配给asp.net隐藏字段

本文关键字:asp net 隐藏 字段 分配 jquery 数组 | 更新日期: 2023-09-27 18:29:24

我通过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]);
                });
        });
    });

如何将jquery数组分配给asp.net隐藏字段

显然,您只能保存最后一个值,因为您将所选列表项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);
    });

检查一下,让我知道结果。

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

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

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