0

次の html を使用して、画像付きのチェックボックスを表示しています。

<div class="testClass">
<input id="111" name="compare_checkbox" type="checkbox" />                      
<label for="111">
    <i class="icon" aria-hidden="true"></i> <b>Compare</b>
</label>
</div>

特定の条件でチェックボックスをオフにする必要があります。次の jquery を使用しています: $('#111')[0].checked = false;

ラベルがない場合、これは正常に機能します。ラベルを取得すると、コンソール (Chrome または Firefox) にエラーは表示されませんが、チェックボックスはオフになりません。

4

4 に答える 4

1

要素 ID の先頭に数字を使用できないことをお知らせします。HTML ドキュメントの要素 ID ~ 命名に関する質問を参照してください。これがお役に立てば幸いです:)

解決:

<div class="testClass">
<input id="one" name="compare_checkbox" type="checkbox" />                      
<label for="one">
    <i class="icon" aria-hidden="true"></i> <b>Compare</b>
</label>
</div>

http://jsfiddle.net/tLsK7/

于 2013-09-17T23:56:08.080 に答える
0

要素のIDを変更しようとしましたか? ID が数字だけで構成されているとは思えませんし、少なくとも数字で始まることはありません。

于 2013-09-17T23:50:27.160 に答える
0

チェックボックスの状態はprop、チェックボックスに関連する<label>.

$('#element').prop("checked", true); // Checks a checkbox.
$('#element').prop("checked", false); // Unchecks a checkbox.
于 2013-09-17T21:57:18.427 に答える
0

for='111' で正常に動作

ここにありますhttp://jsfiddle.net/spaipalle/umAsw/3/

$('#111').click(function(){
if($('#111').is(":checked")){
        alert('checked');
        $('#111')[0].checked = false; // uncheck it
}else{
        alert('unchecked');
}
});
于 2013-09-17T22:24:40.720 に答える