0
if($(this).prop('checked', true)){
    $(this).prop('checked',false);
        console.log('its checked yo');
    } else if(!$(this).is(':checked')){
        $('[type=checkbox]').prop("checked", false);
        $(this).prop('checked', true);
        console.log("Well this certainly isn't checked");
    }
}

http://jsfiddle.net/bkj8n/2/#run したがって、私のセットアップは、チェックボックスで選択したさまざまなオプションの価格を追加するフォーム用です。この項目グループでは、一度に 1 つのオプションしか選択できません。そのため、別のアイテムが選択されたら、すべてのボックスのチェックを外してから、選択したボックスにチェックを入れます。.prop() .attr() などを使用してこれを試しましたが、うまくいきませんでした。3 つのうちの 1 つが毎回発生します。

  1. それは機能し、1 つしか選択できず、他の選択は解除されます。BUT: そのアイテムのチェックを外すことはできず、他のチェックボックスの価格 (値) が追加されます。つまり、それらがまだチェックされていると見なされます。

  2. たとえチェックされていなくても、それらはすべてチェックされていると言われています。したがって、何も機能しません。

  3. 値は正しく追加されています。一度に 1 つのオプションしか取得できず、そのオプションをもう一度クリックしてゼロに戻すことができます。BUT: ボックスにチェック マークが表示されません。

これは私をイライラさせます。ありがとう!

4

1 に答える 1

4

あなたはこれを必要とします -

if($(this).prop('checked')){

あなたが使っているのsetter getter

于 2013-05-29T18:53:47.780 に答える