js获取checkbox的值问题
前台脚本:
function checkAll()
{
var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++)
{
if((el[i].type=="checkbox") && (el[i].checked== true))
{
alert(el[i].value); //这里每次只显示“on”,用el[i].name就能正确显示id:464,465
}
}
}
---------------------------------------------
后台asp.net生成checkbox:
CheckBox cb = new CheckBox();
cb.ID = classid; //字段id
cb.Text = classname; //字段名称
ph1.Controls.Add(cb);
---------------------------------------------
页面运行生成的html代码为:
<input id="464" type="checkbox" name="464" />
<label for="464"><b>水果</b><br /></label>
<input id="465" type="checkbox" name="465" />
<label for="465">苹果</label>
[解决办法]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script type="text/javascript">function getit(){ var chks=new Array(); var lbls=new Array(); var val=''; chks=document.getElementsByTagName('input'); lbls=document.getElementsByTagName('label'); for(var i=0;i<chks.length;i++){ if(chks[i].type.toString()=='checkbox'){ /*val+=document.getElementById(chks[i].id).innerText; alert(val);*/ for(var j=0;j<lbls.length;j++){ if(lbls[j].getAttributeNode('for').value==chks[i].id){ val+=lbls[j].innerText.toString(); alert(val); } } } }} </script></head><body><input id="464" type="checkbox" name="464" /> <label for="464"> <b>水果 </b> <br /> </label> <input id="465" type="checkbox" name="465" /> <label for="465">苹果 </label><input type="button" value="Get" onclick="getit();" /></body></html>