0

我想根据取消选中另一个复选框来取消选中复选框。前任。

    <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”。请帮帮我

4

5 回答 5

2

看到这个: 小提琴

$('input[id^=isActive_]').change(function () {
   $("input[id^=publish" + this.id.replace('isActive', '') + "]").attr('checked', this.checked);
});
于 2013-04-12T07:21:58.217 回答
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”复选框。

于 2013-04-12T07:14:17.027 回答
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(){
        /////
    });
});
于 2013-04-12T07:14:51.390 回答
0

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

现场演示

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);
});
于 2013-04-12T07:17:28.240 回答
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)

于 2013-04-12T07:18:55.643 回答