Saya sudah mencoba semua cara yang mungkin, tetapi saya masih belum berhasil. Saya memiliki jendela modal dengan checkbox
Saya ingin bahwa ketika modal terbuka, checkbox
centang atau hapus centang harus didasarkan pada nilai basis data. (Saya punya yang sudah bekerja dengan orang lain membentuk bidang.) Saya mulai mencoba memeriksanya tetapi tidak berhasil.
Div html saya:
<div id="fModal" class="modal" >
...
<div class="row-form">
<div class="span12">
<span class="top title">Estado</span>
<input type="checkbox" id="estado_cat" class="ibtn">
</div>
</div>
</div>
dan jquery:
$("#estado_cat").prop( "checked", true );
Saya juga mencoba attr
, dan yang lain terlihat di sini di forum, tapi sepertinya tidak ada yang berhasil. Bisakah seseorang menunjuk saya dengan cara yang benar?
EDIT: ok, saya benar-benar kehilangan sesuatu di sini ... Saya dapat mencentang / menghapus centang menggunakan kode jika kotak centang ada di halaman, tetapi apakah itu ada di jendela modal, saya tidak bisa. Saya mencoba lusinan cara yang berbeda ...
Saya memiliki tautan yang seharusnya membuka modal:
dan jquery untuk "mendengarkan" klik dan menjalankan beberapa operasi seperti mengisi beberapa kotak teks dengan data yang berasal dari basis data. Semuanya berfungsi seperti yang saya inginkan tetapi masalahnya adalah bahwa saya tidak dapat mengatur kotak centang dicentang / tidak dicentang menggunakan kode. tolonglah!
$(function() {
$(".editButton").click(function(){
var id = $(this).data('id');
$.ajax({
type: "POST",
url: "process.php",
dataType:"json",
data: { id: id, op: "edit" },
}).done(function( data ) {
//the next two lines work fine, i.e., it grabs the value from database and fills the textboxes
$("#nome_categoria").val( data['nome_categoria'] );
$("#descricao_categoria").val( data['descricao_categoria'] );
//then I tried to set the checkbox checked (because its unchecked by default) and it does not work
$("#estado_cat").prop("checked", true);
$('#fModal').modal('show');
});
evt.preventDefault();
return false;
});
});
Jawaban:
Anda harus menggunakan fungsi 'prop':
Sebelum jQuery 1.6 (lihat jawaban user2063626 ):
sumber
Mengambil semua jawaban yang diajukan dan menerapkannya pada situasi saya - mencoba mencentang atau menghapus centang pada kotak centang berdasarkan nilai yang diambil dari true (harus centang kotak) atau false (tidak boleh centang kotak) - Saya mencoba semua hal di atas dan menemukan bahwa menggunakan .prop ("dicentang", true) dan .prop ("dicentang", false ) adalah solusi yang tepat.
Saya belum bisa menambahkan komentar atau jawaban, tetapi saya merasa ini cukup penting untuk ditambahkan ke percakapan.
Berikut ini adalah kode lama untuk modifikasi kalender penuh yang mengatakan jika nilai yang diambil "allDay" benar, lalu centang kotak centang dengan ID "even_allday_yn":
sumber
$( "#even_allday_yn").prop('checked', allDay);
$('#even_allday_yn').prop('checked', allDay === true)
akan bekerja karenaallDay === true
memberikan hasil boolean.Bung coba kode di bawah ini:
ATAU
ATAU
sumber
.prop('checked', true)
bukannyaattr
- Saya hanya mengalami masalah yang sama, danprop
berfungsi.:checked
pseudo-selector atau fitur HTML kotak centang asli lainnya, Anda harus menggunakan.prop
..attr()
adalah cara untuk menggunakan versi sebelumnya,.prop()
untuk jQuery 1.6+."centang" atribut 'centang' kotak centang segera setelah ada. Jadi, untuk mencentang / menghapus centang pada kotak centang, Anda harus mengatur / membatalkan pengaturan atribut.
Untuk memeriksa kotak:
Untuk menghapus centang pada kotak:
Untuk menguji status yang diperiksa:
Semoga ini bisa membantu ...
sumber
Karena Anda berada di jendela modal (baik dinamis atau di halaman), Anda dapat menggunakan kode berikut untuk mencapai tujuan Anda: (Saya mengalami masalah yang sama di situs saya dan ini adalah cara saya memperbaikinya)
HTML:
KODE:
Dalam "kendoWindow" di atas adalah jendela saya (milik saya dinamis, tetapi saya juga melakukan ini ketika menambahkan ke elemen langsung di halaman). Saya mengulang melalui array data ("queriesToAddToGroup") untuk melihat apakah ada baris yang memiliki atribut COPY. Jika demikian, saya ingin mengaktifkan kotak centang di dalam jendela yang menetapkan atribut itu ketika pengguna menyimpan dari jendela ini.
sumber
prop
seperti jawaban ini menunjukkan adalah cara yang BENAR untuk mencapai checkbox jQuery dinamis memeriksa / tidak mencentang.akan bekerja. Pastikan benar dan salah tidak ada di dalam tanda kutip.
sumber
.prop('checked', true);
Info lebih lanjut di Posting ini.attr()
berhasil, seperti yang dijelaskan.Anda dapat menulis seperti di bawah ini kode yang diberikan.
HTML
jQuery
Semoga ini berhasil untuk Anda.
sumber
Jika Anda ingin menggunakan fungsionalitas ini untuk skrip GreaseMonkey untuk secara otomatis memeriksa kotak centang pada halaman, ingatlah bahwa hanya dengan menyetel properti yang dicentang mungkin tidak memicu tindakan yang terkait. Dalam hal itu, "mengklik" kotak centang mungkin akan (dan mengatur properti yang dicentang juga).
sumber
Find akan mengembalikan array, jadi gunakan [0] untuk mendapatkan bahkan jika hanya ada satu item
jika Anda tidak menggunakan find maka
ini bekerja dengan baik di Mozilla Firefox untuk saya
sumber
Bekerja untuk saya:
sumber
Coba ini karena Anda menggunakan jQuery UI mungkin (jika tidak silakan komentar)
sumber
Sudahkah Anda mencoba menjalankan
$("#estado_cat").checkboxradio("refresh")
pada kotak centang Anda?sumber
Ini bekerja.
sumber
Saya juga mengalami masalah ini.
dan ini adalah kode lama saya tidak berfungsi
di sini adalah kode baru saya yang berfungsi sekarang:
jadi, kuncinya adalah sebelum bekerja, pastikan properti yang dicentang ada dan tidak dihapus.
sumber
Jbookaccess.prop("checked", data.access != 'private');
Ini terjadi karena Anda dengan versi terbaru dari jquery
attr('checked')
kembali'checked'
ketikaprop('checked')
kembalitrue
.sumber
sumber
Setel kotak centang setelah memuat jendela modal. Saya pikir Anda sedang mengatur kotak centang sebelum memuat halaman.
sumber
Saya tahu ini meminta solusi Jquery, tapi saya hanya ingin menunjukkan bahwa sangat mudah untuk mengaktifkannya dalam javascript biasa.
Ini akan bekerja di semua versi saat ini dan masa depan.
sumber
Ingatlah untuk meningkatkan id dan atribut masing-masing. Untuk kotak centang Bootstrap yang ditambahkan secara dinamis.
sumber