1

我想使用 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 以使数组在选择和取消选择复选框列表中的项目时保持更新?

4

3 回答 3

2
var arrValues = new Array();
function test() {
    $(":checkbox").each(function () {
        if (this.checked && arrValues.indexOf(this.value) == -1) {
            arrValues.push(this.value);
        }
    });
}
于 2013-04-12T07:37:45.557 回答
0

利用map()

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

console.log(selectedValue);

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

于 2013-04-12T07:44:00.897 回答
0
var val;
$('#<%= chkServiceType_1.ClientID %> input[type=checkbox]').change(function(){
   val = $("#<%= chkServiceType_1.ClientID %> input[type=checkbox]:checked").map(function(){
          return this.value;
       }).get();
})
于 2013-04-12T07:50:31.540 回答