我有一个复选框列表。
<asp:CheckBoxList ID="cblList" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="S04">1</asp:ListItem>
<asp:ListItem Value="S08">2</asp:ListItem>
<asp:ListItem Value="S09">3</asp:ListItem>
<asp:ListItem>All</asp:ListItem>
</asp:CheckBoxList>
和隐藏字段
<asp:HiddenField ID="hddnValue" runat="server" />
我想将选中的checkboxlist值存储在HiddenField中。
生成的HTML
<td><input id="ctl00_ContentPlaceHolder1_cblList_0" type="checkbox" name="ctl00$ContentPlaceHolder1$cblList$0" /><label for="ctl00_ContentPlaceHolder1_cblList_0">1</label></td>
<td><input id="ctl00_ContentPlaceHolder1_cblList_1" type="checkbox" name="ctl00$ContentPlaceHolder1$cblList$1" /><label for="ctl00_ContentPlaceHolder1_cblList_1">2</label></td>
<td><input id="ctl00_ContentPlaceHolder1_cblList_2" type="checkbox" name="ctl00$ContentPlaceHolder1$cblList$2" /><label for="ctl00_ContentPlaceHolder1_cblList_2">3</label></td>
<td><input id="ctl00_ContentPlaceHolder1_cblList_3" type="checkbox" name="ctl00$ContentPlaceHolder1$cblList$3" /><label for="ctl00_ContentPlaceHolder1_cblList_3">4</label></td>
我试过
$(function() {
$('#ctl00_ContentPlaceHolder1_btnConfirm').click(function() {
debugger;
var val = [];
$(':checkbox:checked').each(function(i) {
val[i] = $(this).val();
});
});
});
没有任何运气。请帮助。
谢谢,
的Rahul
答案 0 :(得分:1)
首先在隐藏字段上添加class
,以便更容易识别:
<asp:HiddenField ID="hddnValue" CssClass="selectedItems" runat="server" />
然后在你的jQuery中使用map()
创建一个选择数组并将值设置为以逗号分隔的列表:
$('#ctl00_ContentPlaceHolder1_btnConfirm').click(function() {
var values = $(':checkbox:checked').map(function() {
return this.value;
}).join(',');
$('.selectedItems').val(values);
});
答案 1 :(得分:1)
或者你可以做这样的事情
$('#ctl00_ContentPlaceHolder1_btnConfirm').click(function () {
var val = [];
$('#cblList').find('input[type=checkbox]:checked').each(function () {
val.push($(this).val());
})
$('#hddnValue').val(val.join(','));
});