Saya ingin mengatur opsi yang dipilih sebelumnya akan ditampilkan pada halaman beban. Saya mencoba 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>
Tapi ini tidak bekerja. Ada ide?
Ini pasti harus bekerja. [Di sini's demo][1]. Pastikan anda telah menempatkan kode ke $(document).siap
:
$(function() {
$("#gate").val('gateway_2');
});
$('#gate').val('Gateway 2').prop('dipilih', true);
Saya telah ditemukan dengan menggunakan jQuery .val() metode memiliki kelemahan yang signifikan.
<select id="gate"></select>
$("#gate").val("Gateway 2");
Jika ini pilih kotak (atau masukan lain objek) dalam bentuk dan ada tombol reset digunakan dalam bentuk, ketika tombol reset diklik nilai yang ditetapkan akan mendapatkan dibersihkan dan tidak me-reset ke awal nilai seperti yang anda harapkan.
Hal ini tampaknya bekerja terbaik bagi saya.
Untuk Memilih kotak
<select id="gate"></select>
$("#gate option[value='Gateway 2']").attr("selected", true);
Untuk input teks
<input type="text" id="gate" />
$("#gate").attr("value", "your desired value")
Untuk textarea input
<textarea id="gate"></textarea>
$("#gate").html("your desired value")
Untuk kotak centang kotak
<input type="checkbox" id="gate" />
$("#gate option[value='Gateway 2']").attr("checked", true);
Untuk tombol radio
<input type="radio" id="gate" value="this"/> or <input type="radio" id="gate" value="that"/>
$("#gate[value='this']").attr("checked", true);
Saya tahu ada beberapa iterasi dari jawaban tapi sekarang ini doesn't membutuhkan jquery atau library eksternal dan dapat dicapai dengan cukup mudah hanya dengan mengikuti.
document.querySelector("#gate option[value='Gateway 2']").setAttribute('selected',true);
<select id="gate">
<option value='null'>- choose -</option>
<option value='Gateway 1'>Gateway 1</option>
<option value='Gateway 2'>Gateway 2</option>
</select>
Masalah saya
get_courses(); //// To load the course list
$("#course").val(course); //// Setting default value of the list
Saya memiliki masalah yang sama . Satu-Satunya perbedaan dari kode anda adalah bahwa saya bongkar kotak pilih melalui ajax call dan segera setelah ajax call dieksekusi aku telah menetapkan nilai default pilih kotak
Solusi
get_courses();
setTimeout(function() {
$("#course").val(course);
}, 10);
Saya punya masalah di mana nilai itu tidak diatur karena kesalahan sintaks sebelum panggilan.
$("#someId").value(33); //script bailed here without showing any errors Note: .value instead of .val
$("#gate").val('Gateway 2'); //this line didn't work.
Memeriksa kesalahan sintaks sebelum panggilan.
Selain @icksde dan @Korah (thx keduanya!)
Ketika membangun pilihan dengan AJAX dokumen.siap dapat memicu sebelum daftar dibangun, sehingga
Ini doesn't bekerja
$(document).ready(function() {
$("#gate").val('Gateway 2');
});
Ini
Batas waktu tidak bekerja tetapi sebagai @icksde mengatakan itu's rapuh (saya tidak benar-benar perlu 20ms dalam manfaat dari 10ms). It's baik untuk muat di dalam AJAX fungsi seperti ini:
$("#someObject").change(function() {
$.get("website/page.php", {parameters}, function(data) {
$("#gate").append("<option value='Gateway 2'">" + "Gateway 2" + "</option>");
$("#gate").val('Gateway 2');
}, "json");
});