Большинство ответов не поймут это (предположительно), если вы используете <label for="cbId">cb name</label>
.Это означает, что при нажатии на ярлык будет установлен флажок, а не непосредственно установлен флажок.(Не совсем вопрос, но различные результаты поиска, как правило, приходят сюда)
<div id="OuterDivOrBody">
<input type="checkbox" id="checkbox1" />
<label for="checkbox1">Checkbox label</label>
<br />
<br />
The confirm result:
<input type="text" id="textbox1" />
</div>
В этом случае вы можете использовать:
Earlier versions of jQuery:
$('#OuterDivOrBody').delegate('#checkbox1', 'change', function () {
// From the other examples
if (!this.checked) {
var sure = confirm("Are you sure?");
this.checked = !sure;
$('#textbox1').val(sure.toString());
}
});
Пример JSFiddle с jQuery 1.6.4
jQuery 1.7+
$('#checkbox1').on('change', function() {
// From the other examples
if (!this.checked) {
var sure = confirm("Are you sure?");
this.checked = !sure;
$('#textbox1').val(sure.toString());
}
});
Пример JSFiddle с последней версией jQuery 2.x
- Добавлены примеры jsfiddle и HTML-код с активируемой меткой флажка