periksa / hapus centang kotak centang menggunakan jquery?

Saya memiliki beberapa bidang input teks di halaman saya dan saya menampilkan nilai-nilai mereka menggunakan JavaScript.

Saya menggunakan .set("nilai","") fungsi untuk mengedit nilai, menambah field checkbox, dan untuk lulus nilai.

Di sini saya ingin memeriksa bahwa jika nilai == 1, maka kotak ini harus diperiksa. Jika tidak, itu harus tetap terkendali.

Saya melakukan ini dengan menggunakan dua divs, tapi saya tidak merasa nyaman dengan itu, apakah ada solusi lain?

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

Untuk jQuery 1.6+ :

.attr() adalah ditinggalkan untuk sifat; menggunakan .prop() fungsi alih sebagai:

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

Untuk jQuery < 1.6:

Periksa/hapus centang kotak centang, gunakan atribut diperiksa dan mengubah itu. Dengan jQuery yang dapat anda lakukan:

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

Karena kau tahu, dalam HTML, maka akan terlihat seperti ini:

<input type="checkbox" id="myCheckbox" checked="checked" /> 
<input type="checkbox" id="myCheckbox" /> 

Namun, anda tidak dapat mempercayai .attr() metode untuk mendapatkan nilai dari checkbox (jika anda perlu). Anda akan harus bergantung pada .prop() metode.

Komentar (16)

Anda dapat menggunakan prop() untuk ini, seperti Sebelum jQuery 1.6, yang .attr() metode ini kadang-kadang mengambil nilai properti mempertimbangkan ketika mengambil beberapa atribut, yang dapat menyebabkan perilaku yang tidak konsisten. Sebagai jQuery 1.6, the .prop() metode menawarkan cara untuk secara tegas mengambil nilai properti, sementara .attr() mengambil atribut.

var prop=false;
if(value == 1) {
   prop=true; 
}
$('#checkbox').prop('checked',prop);

atau sederhana,

$('#checkbox').prop('checked',(value == 1));

Snippet

$(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">
Komentar (0)

Anda dapat mengatur keadaan centang berdasarkan nilai:

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