3

次のようなCheckBoxListがあります

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        CheckBoxList1.Items.Add(new ListItem("Check/Uncheck All","0"));
        CheckBoxList1.Items.Add(new ListItem("A","1"));
        CheckBoxList1.Items.Add(new ListItem("B","2"));
        CheckBoxList1.Items.Add(new ListItem("C", "3"));
        CheckBoxList1.Items.Add(new ListItem("D", "4"));
    }        
}

最初の項目がチェックされているときはいつでも残りの項目をチェックし、チェックされていないときはいつでも残りの項目のチェックを外したい. また、ユーザーはすべての項目を個別に選択できます。

JavaScript や JQuery を使用せずにコード ビハインドでこれを行いたいと考えています。

4

7 に答える 7

0

jqueryを使用してasp CheckBoxListですべての項目を選択する一般的な方法があります。すべて選択機能を使用して、フォーム上に CheckBoxList コントロールをいくつでも持つことができます。あなただけが確認する必要があります

  1. あなたの CheckBoxList にはallowSelectAllクラスがあります
  2. ListItem をチェックボックス リストに追加して、ユーザーが All の値でAllを選択できるようにしました。

chkBoxList.Items.Insert(0, new ListItem("すべて", "すべて"));

次のコードのみが必要です

<script>
    $('.allowSelectAll :checkbox[value=All]').click(function () {
        var toggle = this.checked;
        $(this).closest('.allowSelectAll').find(":checkbox").attr("checked", toggle);
    });
</script>

次のコード スピネットには、4 つのチェックボックス リストがあります。

<div >
<label>Experience 1</label>
<asp:CheckBoxList ID="chklstExp1" runat="server"  CssClass="allowSelectAll">
</asp:CheckBoxList>

<label>Experience 2</label>
<asp:CheckBoxList ID="chklstExp2" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>

<label>Experience 3</label>
<asp:CheckBoxList ID="chklstExp3" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>

<label>Location</label>
<asp:CheckBoxList ID="chklstLocation" runat="server" CssClass="allowSelectAll">
</asp:CheckBoxList>

<asp:Button runat="server" ID="btnShowReport" OnClick="btnShowReport_Click" Text="Show Report"/>
</div>
于 2014-05-20T00:51:10.147 に答える
0

.aspx ページで、チェックボックス リストに autopostback="true" を追加してください

次に、このイベントを追加してください。その動作私はそれをチェックしました。

Private Sub CheckBoxList1_SelectedIndexChsanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBoxList1.SelectedIndexChanged
    Dim result As String = Request.Form("__EVENTTARGET")
    Dim checkedBox As String() = result.Split("$"c)
    Dim index As Integer = Integer.Parse(checkedBox(checkedBox.Length - 1))
    If CheckBoxList1.Items(index).Text = "Check/Uncheck All" Then
        Dim Chkbool As Boolean = CheckBoxList1.Items(index).Selected
        For Each item In CheckBoxList1.Items
            item.selected = Chkbool
        Next
    End If
End Sub
于 2013-09-25T17:37:57.977 に答える