【问题标题】:How to save the selected value of checkboxlist in array?如何将复选框列表的选定值保存在数组中?
【发布时间】:2013-04-12 07:33:40
【问题描述】:

我想使用 javascript 或 jquery 将复选框的值保存在数组中。 我的复选框列表在数据列表中。每当用户选择一个项目时,我想将该所选项目的值添加到一个数组中。

ASPX :

 <asp:DataList ID="dl_Groups_1" RepeatColumns="1"  runat="server" OnItemDataBound="dl_Groups_1_ItemDataBound" RepeatDirection="vertical" ShowFooter="False" ShowHeader="False">
        <ItemTemplate>
           <asp:CheckBox Font-Bold="true" runat="server" ID="chk_Group_1" Text='<%# Eval("category_type") %>' Value='<%# Eval("service_type_category_id") %>' onclick="OnGroupClick" />
            <asp:CheckBoxList  CssClass="line" runat="server" ID="chkServiceType_1" DataValueField="ServiceTypeID" DataTextField="Name" EnableViewState="true">
            </asp:CheckBoxList> 
            <br />
        </ItemTemplate>
    </asp:DataList>

我尝试了以下方法,得到了被选中的项目,但我在这里被打动了......

function test() {
    $(":checkbox").each(function () {
        if (this.checked) {
            alert(this);
        }
    });
}

当我这样做时,我收到警报消息为“ON”而不是值。我在哪里调用 javascript 以使数组在选择和取消选择复选框列表中的项目时保持更新?

【问题讨论】:

    标签: javascript jquery asp.net


    【解决方案1】:
    var arrValues = new Array();
    function test() {
        $(":checkbox").each(function () {
            if (this.checked && arrValues.indexOf(this.value) == -1) {
                arrValues.push(this.value);
            }
        });
    }
    

    【讨论】:

    • 我在哪里调用这个函数 test() ?
    • 其他人说每当用户选择一个项目时 那么为什么要迭代呢?为什么不点击事件?
    • @Pankaj Garg 我只是根据他的代码来展示如何将项目添加到数组
    • @PhongVo 我在哪里调用这个函数,以便将选中的项目添加到 arrya 中?
    • @Anuya 我只是创建了一个示例,它将onclick 事件绑定到复选框以添加值并将其从数组中删除jsFiddle
    【解决方案2】:

    使用map()

     var selectedValue= $("input:checkbox:checked").map(function(){
         return this.value;
     }).get();
    
    console.log(selectedValue);
    

    selectedValue 将在数组中包含所有选中的值..

    【讨论】:

    • 其他人说每当用户选择一个项目时 那么为什么要迭代呢?为什么不点击事件?
    【解决方案3】:
    var val;
    $('#<%= chkServiceType_1.ClientID %> input[type=checkbox]').change(function(){
       val = $("#<%= chkServiceType_1.ClientID %> input[type=checkbox]:checked").map(function(){
              return this.value;
           }).get();
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-15
      • 2012-09-26
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多