Установите флажок check/uncheck с помощью jquery?
У меня есть некоторые текстовые поля ввода на моей странице, я показываю их значения, используя функцию javascript setVal для редактирования, я добавил дополнительное поле флажка, я передал значение,
Здесь я хочу проверить, что если value == 1
, тогда этот флажок должен быть отмечен в противном случае без проверки,
Я сделал это, используя два div, но мне это не нравится, есть ли другое решение?
if(value == 1) {
$('#uncheck').hide();
$('#check').show();
} else{
$('#uncheck').show();
$('#check').hide();
}
Ответы
Ответ 1
Для jQuery < 1,6:
Чтобы установить/снять флажок, используйте атрибут checked
и измените его. С помощью jQuery вы можете:
$('#myCheckbox').attr('checked', true); // Checks it
$('#myCheckbox').attr('checked', false); // Unchecks it
Потому что вы знаете, в HTML, он будет выглядеть примерно так:
<input type="checkbox" id="myCheckbox" checked="checked" /> <!-- Checked -->
<input type="checkbox" id="myCheckbox" /> <!-- Unchecked -->
Однако вы не можете доверять методу .attr(), чтобы получить значение флажка (если вам нужно). Вам нужно будет полагаться на метод .prop().
Итак, для jQuery 1.6+:
.attr() устарел для свойств; используйте новую функцию .prop(), а именно:
$('#myCheckbox').prop('checked', true); // Checks it
$('#myCheckbox').prop('checked', false); // Unchecks it
Ответ 2
Вы можете использовать prop() для этого, как Перед jQuery 1.6, . Метод attr() иногда учитывал значения свойств при извлечении некоторых атрибутов, что может привести к непоследовательному поведению. Как и в случае с jQuery 1.6, метод .prop()
предоставляет способ явного извлечения значений свойств, тогда как .attr()
извлекает атрибуты.
var prop=false;
if(value == 1) {
prop=true;
}
$('#checkbox').prop('checked',prop);
или,
$('#checkbox').prop('checked',(value == 1));
Отрывок
$(document).ready(function() {
var chkbox = $('.customcheckbox');
$(".customvalue").keyup(function() {
chkbox.prop('checked', this.value==1);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<h4>This is a domo to show check box is checked
if you enter value 1 else check box will be unchecked </h4>
Enter a value:
<input type="text" value="" class="customvalue">
<br>checkbox output :
<input type="checkbox" class="customcheckbox">
Ответ 3
Вы можете установить состояние флажка на основе значения:
$('#your-checkbox').prop('checked', value == 1);