Снимите флажок HTML с меткой

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), но флажок не отменяется.

Теги:
checkbox

4 ответа

1

Просто сообщите, что у вас не может быть номеров, ведущих идентификатор элемента. Пожалуйста, смотрите 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>

http://jsfiddle.net/tLsK7/

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');
}
});
0

вы пытались изменить идентификатор элемента? Я не думаю, что идентификатор может состоять из числа цифр или, по крайней мере, они не могут начинаться с числа

0

В состояниях флажков лучше всего использовать кросс-браузер с функцией prop jQuery независимо от того, имеет ли флажок связанную <label>.

$('#element').prop("checked", true); // Checks a checkbox.
$('#element').prop("checked", false); // Unchecks a checkbox.
  • 0
    работает нормально, если у меня нет "for = 111" с меткой
  • 0
    В вашем JavaScript должно быть что-то еще, что мешает ему работать, потому что он работает с меткой, присутствующей в этой скрипке.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню