如何获取复选框列表的选定值

时间:2014-04-04 06:55:19

标签: jquery

我有一个复选框列表

 <asp:CheckBoxList runat="server" ID="ddrCustomer">
   </asp:CheckBoxList>

并绑定为

ddrCustomer.DataSource = ds.Tables[1];
 ddrCustomer.DataTextField = "Customer";
 ddrCustomer.DataValueField = "Id";
 ddrCustomer.DataBind();
 ddrCustomer.Items.Insert(0, new ListItem("All", "All"));

然后呈现的HTML是:

   <tr>
     <td>
          <input type="checkbox" name="ddrCustomer$1" id="ddrCustomer_1">
          <label for="ddrCustomer_1">10 Manhattan Ave, Storage</label>
     </td>
   </tr>

当我在下面调用java脚本函数

  $("#ddrCustomer").find("input[type=checkbox]:checked").each(function () {

      alert($(this).val());

    }); 

然后它总是返回"on"作为选中的复选框值。 我需要绑定valus

3 个答案:

答案 0 :(得分:0)

$("#ddrCustomer").find("input[type=checkbox]").each(function () {

alert($(this).val());

});

答案 1 :(得分:0)

.aspx Markup

<asp:CheckBoxList ID="ddrCustomer" runat="server">
    <asp:ListItem Text="Sam" Value="1"></asp:ListItem>
</asp:CheckBoxList>

呈现HTML

<input type="checkbox" value="1" name="ctl00$MainContent$ddrCustomer$0"  
               id="MainContent_ddrCustomer_0">
<label for="MainContent_ddrCustomer_0">Sam</label>

jQuery的

$("#<%= ddrCustomer.ClientID %>").find("input[type=checkbox]").each(function () {

alert(this.checked); // returns checked or not
alert(this.value); //returns value
alert($(this).next('label').text(); // returns SAM. Text value

});

答案 2 :(得分:0)

使用:

 $("#ddrCustomer").find("input[type=checkbox]").each(function () {
  alert($(this).val());
});