+ -
当前位置:首页 → 问答吧 → IE中如何用Jquery选取动态生成的Chexkbox,并全选

IE中如何用Jquery选取动态生成的Chexkbox,并全选

时间:2009-07-27

来源:互联网

生成Checkbox:

                                for(i=0;i<productcount;i++){
                    var temp = i+1;
                    if(temp%4==1){
                        product = product + "<tr><td><input type='checkbox' value='"+list.products.id+"' id='productitems'>"+list.products.note+"</input></td>";
                    }
                    else if(temp%4==0){
                        product = product + "<td><input type='checkbox' value='"+list.products.id+"' id='productitems'>"+list.products.note+"</input></td></tr>";
                    }
                    else{
                        product = product + "<td><input type='checkbox' value='"+list.products.id+"' id='productitems'>"+list.products.note+"</input></td>";
                    }
                }
                $("#productpackge").append(product);

操纵的fuction:

function checkall(){
       $("input[@name='productitems']").each(function() {
                $(this).attr("checked", true);
       });
    }


ie7中报红色行,对象不支持此属性或方法。

如果使用 $("#productitems"),会只有返回一个checkbox,length也只有1。

请高手赐教。
[ 此帖被michael_msx在2009-07-27 10:39重新编辑 ]

作者: michael_msx   发布时间: 2009-07-27

我博客里面有一个,你去找找吧。
http://wind-flowers.net

作者: crura   发布时间: 2009-07-27

jQuery 1.3的live事件支持js再生成的对象   目前支持的动作如下:
click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。

复制代码
  1.     $('#xxxx').live('click',checkall());

应该就行了

作者: stalkerru   发布时间: 2009-07-27

引用
引用第2楼stalkerru于2009-07-27 18:20发表的  :
jQuery 1.3的live事件支持js再生成的对象   目前支持的动作如下:
click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。

[code]
    $('#xxxx').live('click',checkall());
.......




好像不行啊,我用live事件没效果。

后来我我全部改成name属性,然后each,却只能选中第一个。

作者: michael_msx   发布时间: 2009-07-28

我在jQuery的一篇入门的文章上看过这个,而且我也FF和IE678上都试过,都是可以的。你看看,自己试着改改

$(function() {
    $("#selectAll").click(function() {
        $("input:checkbox").each(function() {
             this.checked=true;
        });
    });
})


这段应当可以

作者: mike_zhao   发布时间: 2009-07-28

live可以用.....
谢谢,我也碰到这个问题....

作者: woyouu   发布时间: 2009-11-16

$("input[@name='productitems']").each(function() 改成下面的写法:
$("input[name='productitems']").each(function() (把@符号去掉,在jQuery1.3版本好像不支持这种写法,1.2.6支持,我同事就遇到这种问题,你可以试试)

作者: xulong   发布时间: 2009-12-18

相关阅读 更多