JS复选框默认选择数据库中的值
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="JavaScript" type="text/javascript">
var B="D_D,D_M";
for (i=0;i<cbItem.length ;i++ )
{
tmpB=B.split(", ");
for (j=0;j<tmpB.length ;j++ )
{
if(tmpB[j]==cbItem[i].value)
{cbItem[i].checked=true;break;}
}
}
</script>
</head>
<body>
<form id="form1" >
<div>
<input id="" class="cbItem" name="cbItem" type="checkbox" value="D_A"/>添加
<input id="" class="cbItem" name="cbItem" type="checkbox" value="D_D"/>删除
<input id="" class="cbItem" name="cbItem" type="checkbox" value="D_M"/>编辑
</div>
</form>
</body>
<html>
这样写了,页面没反应,没执行
------解决方案--------------------有个三个问题:
1,你想要页面执行这个方法,但是没有显示的调用去触发。可以写在window.onload方法中
2. 明白你想要取到checkbox的集合,但是不能直接用name来取,用document.getElementsByName("cbItem")可以得到checkbox对象的数组
3.你要split的字符串("D_D,D_M")里面逗号后面没有空格,因此split的条件中也不能有空格了,这样才能split对
可以试试这段,应该是可以的。
[code=HTML][/code]<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script language="JavaScript" type="text/javascript">
window.onload = function() { // 1. 触发方法
var B = "D_D,D_M";
var cbItem = document.getElementsByName("cbItem"); // 2. 找到对象
for (i = 0; i < cbItem.length; i++) {
tmpB = B.split(","); // 3. 逗号后面别跟着空格,否则没法正确spilt
for (j = 0; j < tmpB.length; j++) {
if (tmpB[j] == cbItem[i].value)
{ cbItem[i].checked = true; break; }
}
}
}
</script>
</head>
<body>
<form id="form1">
<div>
<input id="" class="cbItem" name="cbItem" type="checkbox" value="D_A" />添加
<input id="" class="cbItem" name="cbItem" type="checkbox" value="D_D" />删除
<input id="" class="cbItem" name="cbItem" type="checkbox" value="D_M" />编辑
</div>
</form>
</body>
<html>
------解决方案--------------------因为你写的var B = "D_D,D_M"中逗号后面没有空格,所有B.split(",")的时候,括号中逗号后面也不能有空格,否则就没法split成两个字符串了。仔细看看你最开始的code,是有空格的。
------解决方案--------------------document有forms这个属行,想通过id找到相应的form以及其中的元素的话的话,应该这么用:
var checkobj = document.forms("form1").all("a")
另外
if(checkobj[i].value==tmpB)
{...}
tmpB是split之后返回的数组,因此比较时应该用其中的元素:tmpB[j]
这样改下应该就行了。
------解决方案--------------------想要通过form的id找到form和其中的元素的话,应该这么用:
var checkobj = document.forms("form1").all("a&