如题,该如何让获取呢,网上有很多这样的列子,但是大多数是不行的,我想获取的是 值 和 文本
我写的方法如下,但是获得是 “undefined”,求大侠给个更好的方法!<script language="javascript" type="text/javascript">
function checkAll()
{
var ckelems = document.getElementById("CheckBoxList1").getElementsByTagName("input");
var spelems = document.getElementById("CheckBoxList1").getElementsByTagName("span");
for(var i=0;i<ckelems.length;i++)
{
if(ckelems[i].type=="checkbox")
{
if(ckelems[i].checked)
alert('文本是 '+spelems[i].text+' 值是 '+spelems[i].value);
}
}
}
</script>
我写的方法如下,但是获得是 “undefined”,求大侠给个更好的方法!<script language="javascript" type="text/javascript">
function checkAll()
{
var ckelems = document.getElementById("CheckBoxList1").getElementsByTagName("input");
var spelems = document.getElementById("CheckBoxList1").getElementsByTagName("span");
for(var i=0;i<ckelems.length;i++)
{
if(ckelems[i].type=="checkbox")
{
if(ckelems[i].checked)
alert('文本是 '+spelems[i].text+' 值是 '+spelems[i].value);
}
}
}
</script>
{
var v = new Array();
var CheckBoxList = document.getElementById(objID);
if(CheckBoxList.tagName == "TABLE")
{
for(i=0;i<CheckBoxList.rows.length;i++)
for(j=0;j<CheckBoxList.rows[i].cells.length;j++)
if(CheckBoxList.rows[i].cells[j].childNodes[0])
if(CheckBoxList.rows[i].cells[j].childNodes[0].checked==true)
v.push(CheckBoxList.rows[i].cells[j].childNodes[1].innerText);
}
if(CheckBoxList.tagName == "SPAN")
{
for(i=0;i<CheckBoxList.childNodes.length;i++)
if(CheckBoxList.childNodes[i].tagName == "INPUT")
if(CheckBoxList.childNodes[i].checked==true)
{
i++;
v.push(CheckBoxList.childNodes[i].innerText);
}
}
return v;
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script >
function checkAll()
{
var objs = document.getElementsByTagName ("input");
for(var i = 0; i < objs.length; i++)
{
if(objs[i].type == "checkbox")
{
objs[i].checked = "checked";
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:CheckBoxList ID="Checkboxlist1" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
</asp:CheckBoxList>
</div>
<input type ="button" value="test" onclick="checkAll();"/>
</form>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script >
function checkAll()
{
var objs = document.getElementsByTagName ("input");
for(var i = 0; i < objs.length; i++)
{
if(objs[i].type == "checkbox" && objs[i].checked)
{
alert ( objs[i].parentElement.children[1].innerText)
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:CheckBoxList ID="Checkboxlist1" runat="server">
<asp:ListItem Selected="True">1</asp:ListItem>
<asp:ListItem Selected="True">2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
</asp:CheckBoxList>
</div>
<input type ="button" value="test" onclick="checkAll();"/>
</form>
</body>
</html>
这句应该改为var spelems = document.getElementById("CheckBoxList1").getElementsByTagName("label"); alert('文本是 '+spelems[i].text+' 值是 '+spelems[i].value);
应改为 alert('文本是 '+spelems[i].innerText+' 值是 ');
asp.net2.0里,value值只能从后台传出来,在前台没有这个值。js是只能处理前台有的东西。
如果不用checkboxlist控件,而是html表单,则value值就有了。
改为 document.getElementById("<%CheckBoxList1.ClientID%>")