您好,在bootstrap 3中执行此操作时遇到问题。我的代码在jsfiddle中工作,但是在bootstrap中不起作用。

这是jsfiddle

的HTML

<div class="col-md-3 span6 privilege-container-b">
<label class="checkbox">
    <input type="checkbox" name="mypriv" value="test_priv1" class="test_priv1">Checkbox 1</label>
<label class="checkbox">
    <input type="checkbox" name="mypriv" value="test_priv2" class="test_priv2">Checkbox 2</label>
<label class="checkbox">
    <input type="checkbox" name="mypriv" value="test_priv3" class="test_priv3">Checkbox 3</label>
<label class="checkbox">
    <input type="checkbox" name="mypriv" value="test_priv4" class="test_priv4">Checkbox 4</label>
<label class="checkbox">
    <input type="checkbox" name="mypriv" value="test_priv5" class="test_priv5">Checkbox 5</label>
<label class="checkbox">
    <input type="checkbox" name="mypriv" value="test_priv6" class="test_priv6">Checkbox 6</label>
</div>


jQuery的

$('.test_priv1').change(function () {
    var val = $('.test_priv1').is(':checked');
    if (val === true) {
        $('.test_priv2, test_priv3').prop('checked', true);
        $('.test_priv2, test_priv3').prop('disabled', true);
    } else {
        $('.test_priv2, test_priv3').prop('checked', false);
        $('.test_priv2, test_priv3').prop('disabled', false);
    }
    return false;
});


上面的代码不起作用。我的目标是如果选中了test_priv1,则将检查并锁定test_priv2和test_priv3。我的代码有什么问题吗?请纠正我。谢谢

最佳答案

我将点添加到text_priv3选择器并执行



$(function() {
    $('.test_priv1').on("click", function () { // IE<9 triggers change after blurred
        var checked = $(this).is(':checked');
        var $otherChecks = $('.test_priv2, .test_priv3');
        $otherChecks.prop('checked', checked);
        $otherChecks.prop('disabled', checked);
        $otherChecks.parent().toggleClass("disabled",checked);
    });
});


注意我也将标签文本设为灰色

顺便说一句,如果您想将所有其他框都涂成灰色,则无论班级如何,都可以

var $otherChecks = $("input[name='mypriv']:not('.test_priv1')");


要么

var $otherChecks = $("input[name='mypriv']").not(this);

09-20 00:13