用JS遍历CheckBoxList的text

feng1021 2008-03-12 02:38:00
页面里有多个CheckBoxList,如果用JS获得这些CheckBoxList的text?
...全文
905 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgclon 2008-05-06
  • 打赏
  • 举报
回复
一定要ie7?
xuzicn 2008-03-12
  • 打赏
  • 举报
回复
...这个空格的事情...csdn的问题,不怪洒家,你看看洒家上条回复,刚才一个空格现在变两个的....
xuzicn 2008-03-12
  • 打赏
  • 举报
回复
不好意思
var chkObject = document.getElementById(' <%=CheckBoxList1.ClientID%> ');
getElementById()复制的时候多了两个空格,去掉就可以了,ie7中成功
feng1021 2008-03-12
  • 打赏
  • 举报
回复
xuzicn
============
把if(chkInput[i].checked)去掉了,点按钮输出没反应啊
guyan033 2008-03-12
  • 打赏
  • 举报
回复
function check()
{
var chkInput =chkObject.getElementsByTagName("input");
for(var i=0;i<chkInput.length;i++)
{
if(chkInput[i].type = "checkbox")
{
if(chkInput[i].Checked)
alert(chkInput[i].text);
}
}
}
xuzicn 2008-03-12
  • 打赏
  • 举报
回复
你自己的代码里面写的意思是只alert被勾上的checkbox,所以我的代码也是只alert被勾上的checkbox,要全部的话,去掉 if(chkInput[i].checked) 就可以了

至于var labels = document.getElementsByTagName("label"),asp.net里的checkbox控件在客户端是
<td><input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1$1" /><label for="CheckBoxList1_1">女</label></td>
所以要找他的text就要找这个label
feng1021 2008-03-12
  • 打赏
  • 举报
回复
xuzicn
============
var labels = document.getElementsByTagName("label");
这句是干嘛,我没有这个呀,还有我是要遍历多个CheckBoxList,不是一个
xuzicn 2008-03-12
  • 打赏
  • 举报
回复
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function check()
{
var chkObject = document.getElementById('<%=CheckBoxList1.ClientID%>');
var chkInput =chkObject.getElementsByTagName("input");

for(var i=0;i<chkInput.length;i++)
{
if(chkInput[i].checked)
{
var labels = document.getElementsByTagName("label");
for (var j = 0; j < labels.length; j++)
{
if (labels[j].htmlFor == chkInput[i].id)
{
alert(labels[j].innerHTML);
}
}

}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
<asp:ListItem Value="1">男</asp:ListItem>
<asp:ListItem Value="2">女</asp:ListItem>
</asp:CheckBoxList>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></div>
<asp:Button ID="Button1" runat="server" OnClientClick="javasrcipt:check()" Text="Button" />
 
</form>
</body>
</html>
feng1021 2008-03-12
  • 打赏
  • 举报
回复
可是我用silentwins 的运行一下没反应,而且还不知道那个参数做什么用的.
llxchen 2008-03-12
  • 打赏
  • 举报
回复
var chkInput =chkObject.getElementsByTagName("TABLE");这肯定是有问题的,JS遍历时,应该是input,而不是TABLE。

可以参考silentwins 的回复,JS里取Text值不是直接的text,是innerText
feng1021 2008-03-12
  • 打赏
  • 举报
回复
silentwins
===============
请问你这个参数干嘛用的.我是这样写的,可是没反应:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function check()
{
var chkObject = document.getElementById('<%=CheckBoxList1.ClientID%>');
var chkInput =chkObject.getElementsByTagName("TABLE");
for(var i=0;i<chkInput.length;i++)
{
if(chkInput[i].checked)
{
alert(chkInput[i].text);
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:CheckBoxList ID="CheckBoxList1" runat="server">
<asp:ListItem Value="1">男</asp:ListItem>
<asp:ListItem Value="2">女</asp:ListItem>
</asp:CheckBoxList>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></div>
<asp:Button ID="Button1" runat="server" OnClientClick="javasrcipt:check()" Text="Button" />
 
</form>
</body>
</html>
silentwins 2008-03-12
  • 打赏
  • 举报
回复
function   GetText(strCommon)   
{
var inputs = document.all.tags("INPUT");
   for (var i = 0; i < inputs.length; i++) // 遍历页面上所有的 input
   {  
    if (inputs[i].type == "checkbox" )
{
Alert(inputs[i].innerText); // inputs[i].innerText就是你想要的Text
}
}
}
xz_xq 2008-03-12
  • 打赏
  • 举报
回复
循环遍历某一个checkboxlist

62,251

社区成员

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

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

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

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