JQuery不从checkboxlist返回值,返回state

时间:2013-09-29 16:29:54

标签: javascript jquery asp.net

请让我知道我能在这里纠正什么,我已经陷入了一些看似简单的事情。

使用JQuery 1.6.2:

我正在尝试在CheckBoxList中返回已检查项的VALUES数组。

使用来自web的修改示例我有以下内容,它返回一个“on,on,on,on”数组(如果选中了所有4个复选框)。

Shots.push($(this).prop('checked'))返回“true,true ...” Shots.push($(this).attr('Value'))返回“on,on ...”

            var Shots = [];

            $('#cblShots').find('input[type=checkbox]:checked').each(function () {
                Shots.push($(this).val());
            });

                if (Shots != "") {
                    $(Pnote).val(Shots.join(', '));
                } else {
                    updateTips("Please select at least one item");
                    return false;
                }


<asp:Panel ID="pnlAppointmentShotSelection" runat="server" style="display:none;">
    <label>Please select which shots you would like administered</label>
    <br /><br />
    <asp:CheckBoxList ID="cblShots" runat="server" CssClass="ShotList">
      <asp:ListItem Value="Flu">Flu</asp:ListItem>
      <asp:ListItem Value="B-12">B-12</asp:ListItem>
      <asp:ListItem Value="Pneumonia">Pneumonia</asp:ListItem>
      <asp:ListItem Value="TDAP">Tetanus-Diptheria-Pertusis (TDAP)</asp:ListItem>
    </asp:CheckBoxList>
   </asp:Panel>

1 个答案:

答案 0 :(得分:0)

根据此post可以向ListItem添加数据属性,因此请尝试向每个元素添加数据名称属性,然后在javascript中尝试:

var Shots = [];
$('#cblShots').find('input[type=checkbox]:checked').each(function () {
      Shots.push($(this).attr("data-name"));
});