<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"/>添加&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      <input id="" class="cbItem" name="cbItem"  type="checkbox"  value="D_D"/>删除&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      <input id="" class="cbItem" name="cbItem"  type="checkbox"  value="D_M"/>编辑
    </div>
    </form>
</body>
<html>
这样写了,页面没反应,没执行

解决方案 »

  1.   

    有个三个问题:
    1,你想要页面执行这个方法,但是没有显示的调用去触发。可以写在window.onload方法中
    2. 明白你想要取到checkbox的集合,但是不能直接用name来取,用document.getElementsByName("cbItem")可以得到checkbox对象的数组
    3.你要split的字符串("D_D,D_M")里面逗号后面没有空格,因此split的条件中也不能有空格了,这样才能split对可以试试这段,应该是可以的。<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" />添加&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <input id="" class="cbItem" name="cbItem" type="checkbox" value="D_D" />删除&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <input id="" class="cbItem" name="cbItem" type="checkbox" value="D_M" />编辑
        </div>
        </form>
    </body>
    <html>
      

  2.   

    function window.onload(){  var checkobj=document.form1.all("a");
     var B = "D_D,D_M";
      for(i=0;i<checkobj.length;i++){
     var tmpB = B.split(","); 
     for (j=0;j<tmpB.length ;j++ )
     {
     
      if(checkobj[i].value==tmpB)
      {
        checkobj[i].checked=true;
        }
      }
     }
    }这样还是不行啊
      

  3.   

    因为你写的var B = "D_D,D_M"中逗号后面没有空格,所有B.split(",")的时候,括号中逗号后面也不能有空格,否则就没法split成两个字符串了。仔细看看你最开始的code,是有空格的。
      

  4.   

    <script language="javascript" type="text/javascript">
    function window.onload(){  var checkobj=document.form1.all("a");
     var B = "2,3,4";  for(i=0;i<checkobj.length;i++){
      var temp=B.split(",");
     for (j=0;j<temp.length ;j++ )
     {  if(checkobj[i].value==temp[j])
      {
        checkobj[i].checked=true;
        }
      }
     }
    }
    </script>这样可以 了。
      

  5.   

    document有forms这个属行,想通过id找到相应的form以及其中的元素的话的话,应该这么用:
    var checkobj = document.forms("form1").all("a")另外
    if(checkobj[i].value==tmpB)
    {...}
    tmpB是split之后返回的数组,因此比较时应该用其中的元素:tmpB[j]这样改下应该就行了。
      

  6.   

    想要通过form的id找到form和其中的元素的话,应该这么用:
    var checkobj = document.forms("form1").all("a");另外if(checkobj[i].value==tmpB)中tmpB是split返回的数组,应该用其中的元素tmpB[j]来比较,如下
    if(checkobj[i].value==tmpB[j])
    {
      checkobj[i].checked=true;
    }这样应该就行了。
      

  7.   

    想要用form的id从document中找到form和其中的元素的话,应该这么用:
    var checkobj = document.forms("form1").all("a");另外tmpB是spilt返回的数组,比较的时候应该用tmpB[j],改正这样:
    if (checkobj[i].value == tmpB[j]) {
        heckobj[i].checked = true;
    }这样改完应该就行了。
      

  8.   

    用这个试试 window.onload = function() {
                var B = "D_D,D_M";            var cbItem = document.getElementsByName("cbItem");
                alert(cbItem.length);
                for (i = 0; i < cbItem.length; i++) {
                    tmpB = B.split(",");
                    for (j = 0; j < tmpB.length; j++) {
                        alert(tmpB[j]);
                        if (tmpB[j] == cbItem[i].value)
                        { cbItem[i].checked = true; break; }
                    }
                }
            }