首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单个asp.net按钮单击事件中选中所有asp.net复选框?

如何在单个asp.net按钮单击事件中选中所有asp.net复选框?
EN

Stack Overflow用户
提问于 2011-04-03 16:06:24
回答 3查看 4.9K关注 0票数 1

如何在单个asp.net按钮单击事件中选中所有asp.net复选框

如果我在panel1中有45个复选框,我想在按钮点击事件上,所有的复选框都将被选中,而在另一个按钮点击事件中,所有的复选框都将被取消选中...

如何使用jquery、javascript或vb.net来完成这项工作?

EN

回答 3

Stack Overflow用户

发布于 2011-04-03 16:15:54

使用jQuery,您可以做到

代码语言:javascript
复制
var $checkboxes = $('input[type=checkbox]');
$('#check').toggle(function() {
    $checkboxes.attr('checked', 'checked');
    return false;

}, function() {
    $checkboxes.removeAttr('checked');
    return false;
});

http://jsfiddle.net/zgTw3/5/查看工作示例

票数 2
EN

Stack Overflow用户

发布于 2011-04-03 17:33:30

这是你的aspx文件代码的复选框,面板和按钮;

代码语言:javascript
复制
<asp:Panel ID="Panel1" runat="server">

    <asp:CheckBox ID="CheckBox1" runat="server" />
    <asp:CheckBox ID="CheckBox2" runat="server" />
    <asp:CheckBox ID="CheckBox3" runat="server" />

</asp:Panel>
<asp:Button Text="click" ID="Button1" runat="server" onclick="Button1_Click" />

这是按钮点击事件事件的c#代码;

代码语言:javascript
复制
protected void Button1_Click(object sender, EventArgs e) {

    foreach (Control c in Panel1.Controls) {

        if (c is CheckBox) {

            (c as CheckBox).Checked = true;
        }

    }
}

这是这段c#代码的VB版本;

代码语言:javascript
复制
Protected Sub Button1_Click(sender As Object, e As EventArgs)

    For Each c As Control In Panel1.Controls

        If TypeOf c Is CheckBox Then

            TryCast(c, CheckBox).Checked = True

        End If
    Next
End Sub

当您单击该按钮时,它将批量选中所有复选框。

编辑:

如果您想在同一次单击中选中未选中的项目和取消选中的项目,请执行以下操作

C#:

代码语言:javascript
复制
    protected void Button1_Click(object sender, EventArgs e) {

        foreach (Control c in Panel1.Controls) {

            if (c is CheckBox) {

                if ((c as CheckBox).Checked) {

                    (c as CheckBox).Checked = false;

                } else {

                    (c as CheckBox).Checked = true;
                }
            }

        }
    }

VB:

代码语言:javascript
复制
Protected Sub Button1_Click(sender As Object, e As EventArgs)

    For Each c As Control In Panel1.Controls

        If TypeOf c Is CheckBox Then

            If TryCast(c, CheckBox).Checked Then


                TryCast(c, CheckBox).Checked = False
            Else

                TryCast(c, CheckBox).Checked = True
            End If

        End If
    Next
End Sub
票数 0
EN

Stack Overflow用户

发布于 2011-04-03 18:30:01

当涉及到在其控件上呈现IDNAME时,ASP.NET有一点奇怪。

试试下面这样的代码:

代码语言:javascript
复制
<asp:Button ID="myToggleButton" runat="server" Text="Toggle Checkboxes" />

然后在你的脚本中

代码语言:javascript
复制
$('[id$="myToggleButton"]').click(function(){
    $('input:checkbox')
         .filter(':checked')
         .attr('checked',false)
         .end()
         .not(':checked')
         .attr('checked',true)
         ;        
});

或者一些与此相同的想法。我非常确定您可以对jQuery代码进行更多的优化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5528387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档