0

私は動的に生成された、ゼロ項目からランダムな長さのリストを持っています。各項目にはチェックボックスが含まれています。ラジオ ボタンとは異なり、すべてのチェック ボックスをオフにすることができますが、ラジオ ボタンと同様に 1 つのみをオンにすることができます。これを強制するために、私はJQueryを使用しています(ここで与えられた答えに基づいています:jQuery - radiobuttonsのようなチェックボックス

現在の私のコードは次のとおりです。

var $radiocheck = $('input.radiocheck');
$radiocheck.click(function() {
    if($(this).is(':checked')) {
        $(this).attr('checked', false);
    }
    else if($(this).not(':checked')) {
        $radiocheck.removeAttr('checked');
        $(this).attr('checked', true);
    }
});

...しかし、機能しません (クリックしてもチェックボックスがオフのままです)。どんな助けでも大歓迎です!

4

3 に答える 3

4
var $radiocheck = $('input.radiocheck');

$radiocheck.on('click', function() {
    $radiocheck.not(this).prop('checked', false);
    this.checked = this.checked===true ? true:false; // to toggle, otherwise just set to true
});​

フィドル

于 2012-05-08T18:35:12.057 に答える
1

1:

    var $radiocheck = $('input.radiocheck');

    $radiocheck.on('click', function() {
        $radiocheck.not(this).attr('checked', false);
        this.checked = this.checked;
    });

デモ: 1

二:

   var $radiocheck = $('input.radiocheck');

   $radiocheck.on('click', function() {
     $radiocheck.not(this).attr('checked', false).find(this).attr('checked', this.checked);
   });

デモ: 2

于 2012-05-08T18:41:34.023 に答える
1

adeneoのアプローチを使用するが、選択にcssクラスを使用しない別の回答:

$(document).ready(function() {
   var $radiocheck = $(":checkbox");
   $radiocheck.on('click', function() {
     $radiocheck.not(this).attr('checked', false);
     this.checked = this.checked === true ? true : false;
   });
 });

フィドル

于 2016-07-28T07:38:38.363 に答える