Я использую следующий 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), но флажок не отменяется.
Просто сообщите, что у вас не может быть номеров, ведущих идентификатор элемента. Пожалуйста, смотрите Element ID в HTML Document ~ Naming Question. Надеюсь, это полезно для вас :)
Решение:
<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>
отлично работает с 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');
}
});
вы пытались изменить идентификатор элемента? Я не думаю, что идентификатор может состоять из числа цифр или, по крайней мере, они не могут начинаться с числа
В состояниях флажков лучше всего использовать кросс-браузер с функцией prop
jQuery независимо от того, имеет ли флажок связанную <label>
.
$('#element').prop("checked", true); // Checks a checkbox.
$('#element').prop("checked", false); // Unchecks a checkbox.