如何检查单个asp.net按钮单击事件
上的所有asp.net复选框如果我在panel1中有45个复选框,我希望在按钮点击事件中检查所有复选框,在另一个按钮点击事件中,所有复选框都将被取消选中...
如何使用jquery,javascript或vb.net?
答案 0 :(得分:2)
使用jQuery,你可以做到
var $checkboxes = $('input[type=checkbox]');
$('#check').toggle(function() {
$checkboxes.attr('checked', 'checked');
return false;
}, function() {
$checkboxes.removeAttr('checked');
return false;
});
答案 1 :(得分:0)
这是复选框,面板和按钮的aspx文件代码;
<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#代码;
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版本;
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#:
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:
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
答案 2 :(得分:0)
ASP.NET在其控件上呈现ID
和NAME
时有点奇怪。
尝试这样的事情:
<asp:Button ID="myToggleButton" runat="server" Text="Toggle Checkboxes" />
然后在你的脚本中
$('[id$="myToggleButton"]').click(function(){
$('input:checkbox')
.filter(':checked')
.attr('checked',false)
.end()
.not(':checked')
.attr('checked',true)
;
});
或同样的想法。我很确定你可以更多地优化jQuery代码。