0

チェックボックスリストがあります。

<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" />

チェックボックスリストの選択した値を 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();
        });
    });
});

運がなければ。助けてください。

ありがとうございました、

ラフル

4

2 に答える 2

1

まず、隠しフィールドに on を追加し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);
});
于 2013-09-09T10:49:49.943 に答える