按名称选中复选框

时间:2011-07-21 19:09:09

标签: jquery checkbox

如何使这个JS代码与td id =“sel”中的所有复选框一起使用;

$(document).ready(function() {
    $('input[name="selector"]').click(function() {
        $("#sel :checkbox").attr('checked', $(this).is(':checked'));
    });
});

3 个答案:

答案 0 :(得分:2)

试试这个

$(document).ready(function() {
    $('input[name="selector"]').click(function() {
        $("#sel input:checkbox").attr('checked', $(this).is(':checked'));
    });
});

答案 1 :(得分:0)

啊好吧,这很有道理......所以它就像一个'Select All'选择器?这是一个例子......

//Attach to our select all checkbox
$("input:checkbox[name='SelectAll']").click(function() {
    var checked = $(this).is(":checked");
    //Skip up to the nearest common container that holds your
    //SelectAll and SelectItem checkboxes... i.e. table
    var container = $(this).closest("table");
    container.find("input:checkbox[name='Selector']").attr('checked', checked);
});

同样的事情将用于sel中具有id“sel”...

的所有复选框
//Attach to our select all checkbox
$("input:checkbox[name='SelectAll']").click(function() {
    var checked = $(this).is(":checked");
    $("td#sel input:checkbox").attr("checked", checked);
});

提示:您只能有一个ID为“sel”的单元格...如果您有多个单元格,只有第一个单元格会被识别,如果您需要多个单元格要拥有相同名称的“id”,您必须使用“name”属性而不是“id”属性:

将您的td定义更改为<td name="sel" />并使用选择器

$("td[name='sel'] input:checkbox").attr("checked", checked);

现在,您可以使用“sel”选择器设置多个单元格,并且所有复选框都会检查...

答案 2 :(得分:0)

这是我的最终解决方案;谢谢大家!

$(document).ready (function () {
    $('input[id="selector"]').click (function () {
        var arr = [ {foreach from = $membri item = id} "{$id.id}", {/foreach} ]; 
        jQuery.each (arr, function () { 
            $("#sel" +this+ ":checkbox").attr ('checked', $("#selector").is(':checked') ); 
        } ); 
    } ); 
} );