it-swarm.com.ru

установить / снять флажок с помощью jquery?

У меня есть некоторые поля ввода текста на моей странице, и я отображаю их значения с помощью JavaScript.

Я использую функцию .set("value","") для редактирования значения, добавления дополнительного поля флажка и для передачи значения.

Здесь я хочу проверить, что если value == 1, то этот флажок должен быть установлен. В противном случае, это должно остаться без проверки.

Я сделал это с помощью двух div, но я не чувствую себя комфортно, есть ли другое решение?

if(value == 1) {
    $('#uncheck').hide();
    $('#check').show();
} else{
    $('#uncheck').show();
    $('#check').hide();
}
552
Irfan Ahmed

Для jQuery 1.6+:

. attr () устарело для свойств; используйте новую функцию . prop () вместо:

$('#myCheckbox').prop('checked', true); // Checks it
$('#myCheckbox').prop('checked', false); // Unchecks it

Для 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 () .

1170
Eric

Вы можете использовать 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">
62
Rohan Kumar

Вы можете установить состояние флажка на основе значения:

$('#your-checkbox').prop('checked', value == 1);
26
billyonecan