如何取消选中特定复选框的复选框

时间:2013-04-12 07:12:23

标签: jquery

我想取消选中基于取消选中其他复选框的复选框。 离。

    <input id=isActive_1 type=checkbox />
<input id=isActive_2 type=checkbox />
<input id=isActive_3 type=checkbox />


    <input id=publish_1 type=checkbox />
<input id=publish_2 type=checkbox />
<input id=publish_3 type=checkbox />

当我取消选中'isActive_1'时,此时应取消选中'publish_1'。 请帮帮我

5 个答案:

答案 0 :(得分:2)

请参阅:Fiddle

$('input[id^=isActive_]').change(function () {
   $("input[id^=publish" + this.id.replace('isActive', '') + "]").attr('checked', this.checked);
});

答案 1 :(得分:0)

$("input#isActive_1").click(function(){
 if($('input#isActive_1:checked').length > 0)
   $('input#publish_1').attr('checked', true);
 else
   $('input#publish_1').attr('checked', false);
});

修改:错误的测试,以确定第一次是否选中“isActive_1”复选框。

答案 2 :(得分:0)

您可以使用:

$(document).ready(function(){
    $("input#isActive_1").click(function(){
        if(!$("input#isActive_1").prop("checked"))
          $("input#publish_1").prop("checked", false);
        else
          $("input#publish_1").prop("checked", true);
    });
});

小提琴:http://jsfiddle.net/praveenscience/uJxL8/


更新自评论

以这种方式使用正则表达式选择器:

$(document).ready(function(){
    $("[id^=isActive_]").click(function(){
        /////
    });
});

答案 3 :(得分:0)

首先使用双引号作为属性值,并使用isActive_复选框的id来获取publish_的索引

<强> Live Demo

HTML

<input id="isActive_1" type="checkbox" />
<input id="isActive_2" type="checkbox" />
<input id="isActive_3" type="checkbox" />
<input id="publish_1" type="checkbox" />
<input id="publish_2" type="checkbox" />
<input id="publish_3" type="checkbox" />

的Javascript

$('[id^=isActive_]').change(function () {
    $('#publish_' + this.id.replace('isActive_', '')).attr('checked', this.checked);
});

答案 4 :(得分:0)

你应该试试这个: JSFiddle

$(function() {
    $(document).on("click", "input[id^='isActive_']", function() {
        var number = +$(this).attr("id").substring(9);
        var checked = $(this).prop("checked");

        // for checking & unchecking behaviour
        //$("#publish_"+number).prop("checked", checked);

        if(!checked) {
            $("#publish_"+number).prop("checked", false);
        }
    });
});

(或“改变”事件)

您现在可以添加任意数量的复选框,甚至可以动态添加(例如,在页面加载和JavaScript执行后 - 来自AJAX)