1

チェックボックスをcheck disable選択し、他のボックスを逆にするとcheck disableします。以前に変更したチェックボックスでもう一度試すまではうまくいくようです。今日は脳みそを揚げます。洞察やより良いコードに非常に感謝します。

http://jsfiddle.net/sz7R4/

$('.changeCheck').change(function(event) { 
   var oldTarget = $(':checked').attr('id');
    console.log(oldTarget);
    $(this).attr('disabled', 'disabled').attr('checked', 'checked');
    $('#'+oldTarget).removeAttr('checked', 'checked').removeAttr('disabled', 'disabled');
});
4

3 に答える 3

2

これを試して:

$('.changeCheck').change(function (event) {
    $('.changeCheck').prop({
        'checked': false,
        'disabled': false
    });
    $(this).prop({
        'checked': true,
        'disabled': true
    });
});

jsFiddle の例

.removeAttr()orを使用する.attr()のではなく、.prop(). そして、ここではラジオボタンの方が良い選択肢ではないでしょうか?

于 2013-05-10T03:42:30.917 に答える
0

.attr()デフォルト属性のみを変更し、「ライブ」属性は変更しません (jQuery 1.6 以降)。.prop()代わりにメソッドを使用する必要があります。

于 2013-05-10T03:40:13.947 に答える