现在的位置: 首页 > 综合 > 正文

js jq全选checkbox类的问题

2012年06月11日 ⁄ 综合 ⁄ 共 1826字 ⁄ 字号 评论关闭

今天比较郁闷 一直对jquery抱有很大的信息 但是今天 他把我 狠狠的 打击了 一翻

问题是这样的

 

我的有一个信息类型订阅页面

里面的数据要根据分类来进行动态加载 而且是一个 三级分类 所以在第二级和第三级 进行全选的时候产生了

一个很大 的问题

1、先说 jquery

jquery在固定的数据对象进行全选checkbox时候是没有问题的

html代码如下

 

<input id="Checkbox1" name="chk" type="checkbox"  value="1" /><br />
       <input id="Checkbox2" name="chk"  type="checkbox" value="2" /><br />
       <input id="Checkbox3" name="chk"  type="checkbox" value="3" /><br />
       <input id="Checkbox4" name="chk"  type="checkbox" value="4" /><br />
       <input id="Checkbox5" name="chk"  type="checkbox"  value="5"/><br />
             <br />
       <br />
       </div>
       <input id="Radio1"  type="checkbox"  name="456"  runat="server"/><br />

jquery代码如下

$("#Radio1").bind("click",function(){
    $("input[@name='chk']").attr("checked",$(this).attr("checked"));
})

这种写法是可以用 的

但是 这种就不行了 function checkAll() {

   $("input[@name='chk']").attr("checked",$(this).attr("checked"));

必须采用第一种 不知道是不是 jq的bug

2、js的正常

html代码

<input id="Checkbox1" name="chk" type="checkbox"  value="1" /><br />
        <input id="Checkbox2" name="chk"  type="checkbox" value="2" /><br />
        <input id="Checkbox3" name="chk"  type="checkbox" value="3" /><br />
        <input id="Checkbox4" name="chk"  type="checkbox" value="4" /><br />
        <input id="Checkbox5" name="chk"  type="checkbox"  value="5"/><br />
                    <input id="Radio1"  type="checkbox" onclick="if(this.checked==true) { checkAll('chk'); }else { clearAll('chk'); }" name="456"  runat="server"/><br />

js代码如下

function checkAll(name)
{
    var el = document.getElementsByTagName('input');
    var len = el.length;
    for(var i=0; i<len; i++)
    {
        if((el[i].type=="checkbox") && (el[i].name==name))
        {
            el[i].checked = true;
        }
    }
}
function clearAll(name)
{
    var el = document.getElementsByTagName('input');
    var len = el.length;
    for(var i=0; i<len; i++)
    {
        if((el[i].type=="checkbox") && (el[i].name==name))
        {
            el[i].checked = false;
        }
    }
}

郁闷 期望知道的给我说一下啊

抱歉!评论已关闭.