Установите флажок 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);