2013-04-12 16 views
1

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

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> 

我试过下面,让那些slected的项目,但我在这里奏响了......

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

当我这样做,我得到警告消息为“ON”和而不是价值。我在哪里可以调用javascript来保持数组更新选择和取消选择checkboxlist中的项目?

回答

2
var arrValues = new Array(); 
function test() { 
    $(":checkbox").each(function() { 
     if (this.checked && arrValues.indexOf(this.value) == -1) { 
      arrValues.push(this.value); 
     } 
    }); 
} 
+0

我在哪里可以调用这个函数test()? – Anuya

+0

其他人说**每当用户选择一个项目**那么为什么迭代?为什么不点击事件? – 2013-04-12 07:47:40

+0

@Pankaj Garg我只是基于他的代码来展示如何将项目添加到数组 –

0

使用map()

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

console.log(selectedValue); 

了selectedValue将所有的检测值在阵列..

+0

其他人说**每当用户选择一个项目**那么为什么迭代?为什么不点击事件? – 2013-04-12 07:47:10

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(); 
}) 
相关问题