请让我知道我能在这里纠正什么,我已经陷入了一些看似简单的事情。
使用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>
答案 0 :(得分:0)
根据此post可以向ListItem添加数据属性,因此请尝试向每个元素添加数据名称属性,然后在javascript中尝试:
var Shots = [];
$('#cblShots').find('input[type=checkbox]:checked').each(function () {
Shots.push($(this).attr("data-name"));
});