需求:Repeater中嵌套了一个Repeater,子Repeater中每行有个CheckBox,想用js实现每个子Repeater中的CheckBox单选,或者不选。
就是每个子Repeater中的CheckBox不能多选。哪位给个思路,或者给个好用的js。小弟拜谢了。

解决方案 »

  1.   

    先取得每个Repeater,For一下
    选中一个,把另外的选 中去掉就OK了
      

  2.   


      <div id="div1" style="border:1px solid red">
    <INPUT TYPE="checkbox" NAME="group1" onclick="docheck(this)">
    <INPUT TYPE="checkbox" NAME="group1" onclick="docheck(this)">
    <INPUT TYPE="checkbox" NAME="group1" onclick="docheck(this)">
      </div>
      <div id="div2" style="border:1px solid black">
    <INPUT TYPE="checkbox" NAME="group2" onclick="docheck(this)">
    <INPUT TYPE="checkbox" NAME="group2" onclick="docheck(this)">
    <INPUT TYPE="checkbox" NAME="group2" onclick="docheck(this)">
      </div>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
    function docheck(cb) {
    if (cb.checked)
    {
    var cbs = document.getElementsByName(cb.name);
    for (var i=0; i<cbs.length; i++)
    {
    if (cbs[i] != cb)cbs[i].checked = false;
    }
    }
    }
      //-->
      </SCRIPT>
      

  3.   

    不能给checkbox加name的话就用tagname
    前提是div里的input类型只能是checkbox  <div style="border:1px solid red">
    <INPUT TYPE="checkbox" onclick="docheck(this)">
    <INPUT TYPE="checkbox" onclick="docheck(this)">
    <INPUT TYPE="checkbox" onclick="docheck(this)">
      </div>
      <div style="border:1px solid black">
    <INPUT TYPE="checkbox" onclick="docheck(this)">
    <INPUT TYPE="checkbox" onclick="docheck(this)">
    <INPUT TYPE="checkbox" onclick="docheck(this)">
      </div>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
    function docheck(cb) {
    if (cb.checked)
    {
    var div = cb.parentElement;//父元素
    var cbs = div.getElementsByTagName("input");//父元素下的所有input
    for (var i=0; i<cbs.length; i++)
    {
    if (cbs[i] != cb)cbs[i].checked = false;
    }
    }
    }
      //-->
      </SCRIPT>