checkBox 判断选择数量问题。

zhuersuo 2010-10-11 12:02:10
本人用的是gridview 控件。
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" />
</ItemTemplate>
<HeaderTemplate>
<input type="checkbox" id="chkAll" name="chkAll" onclick="Check(this,'GridView1')" />
</HeaderTemplate>
</asp:TemplateField>

怎么判断checkbox的选择数量啊?就是说当checkbox有两个是选中状态时就弹alert。
...全文
260 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
果然如此 2010-10-11
  • 打赏
  • 举报
回复
建议楼主用jquery组件,简单快捷,兼容大多数浏览器,如:
var str="";
$("[name='checkbox'][checked]").each(function(){
str+=$(this).val()+""r"n";
//alert($(this).val());
})
alert(str);
})

http://bbs.jquery.org.cn/
zhuersuo 2010-10-11
  • 打赏
  • 举报
回复
1 楼的,能在你写的基础上再实现全选功能吗?
wuyq11 2010-10-11
  • 打赏
  • 举报
回复
function Checkall()
{
var j;
var var gv = document.getElementById("<%= GridView1.ClientID %>");
var inputList= gv.getElementsByTagName("input");
var chk;
for(var i=0; i<inputList.length;i++) {
chk =inputList[i];
if(chk.type=="checkbox" && chk.checked ){
j++;
}
if(j>=2){}
}
dalmeeme 2010-10-11
  • 打赏
  • 举报
回复
你是要用js判断吧。
<script>
function Checkall(XelementName)
{
var n=0;
var checkboxes=document.getElementsByName(XelementName);
for(var i=0;i<checkboxes.length;i++)
{
if (checkboxes[i].checked)
n++;
}
if (n>1)
alert("只能选1个");
}
</script>

调用就Checkall("checkBox的name值")
name都设成一样。
q107770540 2010-10-11
  • 打赏
  • 举报
回复

<head runat="server">
<title>Tim 演示</title>

<script>
function Check() {
var flag = 0;
var inputs = document.getElementsByTagName("INPUT")

for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == "checkbox" && inputs[i].id.indexOf("GridView1") >= 0 && inputs[i].id.indexOf("chkSelect") >= 0 && inputs[i].checked) {
flag ++;

}
}

if (flag >= 2) {
alert('选择了多于 2个' +flag);
}
}
</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField HeaderText="Id" DataField="ID"></asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" />
</ItemTemplate>
<HeaderTemplate>
<input type="checkbox" id="chkAll" name="chkAll" onclick="Check()" />
</HeaderTemplate>
</asp:TemplateField>

</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>



protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
for (int i = 0; i < 10; i++)
{
dt.Rows.Add(i.ToString());
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
}


zhuersuo 2010-10-11
  • 打赏
  • 举报
回复
我解决了,自己想的别的办法,在后台判断的。呵呵。谢谢大家了啊......
leejelen 2010-10-11
  • 打赏
  • 举报
回复
用JS可以判断。
yuhuiwqvb 2010-10-11
  • 打赏
  • 举报
回复
mark,learning。。。。

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧