クラス「チェックボックス」を持つさまざまなブロックをターゲットにしようとしていますが、それらにはすべて、ラベルとチェックボックスタイプの入力が含まれています。.checkbox領域内の任意の場所(入力を除く)をクリックすると、「チェックされた」値が切り替えられます。入力をクリックすると、値は同じままになります。なぜそれがそのように動作するのか(入力をクリックしても値が切り替わらないのはなぜですか)、誰かが私に説明できますか?
HTML
<div class="checkbox">
<label for="a">a</label>
<input type="checkbox" name="a" checked>
</div>
<div class="checkbox">
<label for="b">b</label>
<input type="checkbox" name="b">
</div>
JQuery
function toggleProp(el) {
$(el).prop("checked", !el.prop("checked"));
}
$(".checkbox").click(function () {
toggleProp($(this).find("input"));
});
実例
編集:
それがすべきこと:
.checkbox領域内の任意の場所をクリックすると、入力のcheckedプロパティの値がtrueからfalseに、またはその逆に切り替えられているはずです。
内容:
入力を除く.checkarea領域内の任意の場所をクリックすると、値が切り替わります。入力をクリックすると、値は同じままになり、不要になります