Saya ingin mengatur opsi yang dipilih sebelumnya untuk ditampilkan pada halaman memuat. Saya mencobanya dengan kode berikut:
$("#gate").val('Gateway 2');
dengan
<select id="gate">
<option value='null'>- choose -</option>
<option value='gateway_1'>Gateway 1</option>
<option value='gateway_2'>Gateway 2</option>
</select>
Tetapi ini tidak berhasil. Ada ide?
jquery
html
jquery-selectors
html-select
Suara positif
sumber
sumber
Jawaban:
Ini pasti bekerja. Ini demo . Pastikan Anda telah menempatkan kode Anda ke
$(document).ready
:sumber
'Gateway 2'
diteruskan keval
cocok dengan nilaivalue
atribut dari opsi pilih, bukan teksnya. Lihat JSFiddle ini , yang merupakan demo demo versi Darin yang sedikit diedit, untuk contoh apa yang saya maksud.sumber
$('#gate').val('Gateway 2').prop('selected', true);
sumber
$('#your-select-box-id :nth-child(2)').prop('selected', true)
yang berfungsi, dengan pembaruan visual dari drop-box.Saya telah menemukan menggunakan metode jQuery .val () untuk memiliki kelemahan yang signifikan.
Jika kotak pilih ini (atau objek input lainnya) dalam bentuk dan ada tombol reset yang digunakan dalam formulir, ketika tombol reset diklik nilai yang ditetapkan akan dihapus dan tidak diatur ulang ke nilai awal seperti yang Anda harapkan.
Ini sepertinya yang terbaik bagi saya.
Untuk kotak Pilih
Untuk input teks
Untuk input textarea
Untuk kotak centang
Untuk tombol radio
sumber
sumber
Itu bekerja dengan baik. Lihat biola ini: http://jsfiddle.net/kveAL/
Mungkin saja Anda perlu mendeklarasikan jQuery Anda di
$(document).ready()
handler?Juga, mungkin Anda memiliki dua elemen yang memiliki ID yang sama?
sumber
Ini akan menjadi pilihan lain:
sumber
Saya memiliki masalah yang sama.
Solusi: tambahkan refresh.
sumber
Saya tahu ada beberapa iterasi jawaban tetapi sekarang ini tidak memerlukan jquery atau perpustakaan eksternal lainnya dan dapat diselesaikan dengan mudah hanya dengan yang berikut ini.
sumber
Beberapa kasus mungkin
sumber
Masalahku
Saya memiliki masalah yang sama. Satu-satunya perbedaan dari kode Anda adalah bahwa saya memuat kotak pilih melalui panggilan ajax dan segera setelah panggilan ajax dieksekusi, saya telah menetapkan nilai default kotak pilih
Solusinya
sumber
Saya punya masalah ketika nilainya tidak disetel karena kesalahan sintaksis sebelum panggilan.
Periksa kesalahan sintaksis sebelum panggilan.
sumber
sumber
sumber
.attr()
telah menjadi cara yang salah untuk melakukan ini sejak jauh sebelum jawaban ini diposting.Tambahan ke @icksde dan @Korah (thx keduanya!)
Saat membangun opsi dengan AJAX dokumen. Sudah dapat dipicu sebelum daftar dibangun, jadi
Ini tidak berhasil
Ini tidak
Timeout tidak berfungsi tetapi sebagai @icksde mengatakan itu rapuh (saya benar-benar membutuhkan 20ms sebagai pengganti 10ms). Lebih baik untuk memasangnya di dalam fungsi AJAX seperti ini:
sumber