Saya menggunakan plugin Bootstrap-Select seperti ini:
HTML :
<select name="selValue" class="selectpicker">
<option value="1">Val 1</option>
<option value="2">Val 2</option>
<option value="3">Val 3</option>
<option value="4">Val 4</option>
</select>
Javascript :
$('select[name=selValue]').selectpicker();
Sekarang saya ingin mengatur nilai yang dipilih untuk memilih ini ketika tombol diklik ... sesuatu seperti ini:
$('#mybutton').click(function(){
$('select[name=selValue]').val(1);
});
Tapi tidak ada yang terjadi.
Bagaimana saya bisa mencapai ini?
jquery
twitter-bootstrap
bootstrap-select
jcvegan.dll
sumber
sumber
Jawaban:
Nilai dipilih dengan benar, tetapi Anda tidak melihatnya karena plugin menyembunyikan pemilihan yang sebenarnya dan menampilkan tombol dengan daftar tidak berurutan, jadi, jika Anda ingin pengguna melihat nilai yang dipilih pada pilihan, Anda dapat melakukan sesuatu seperti ini :
Edit:
Seperti yang ditunjukkan @blushrt, solusi yang lebih baik adalah:
Edit 2:
Untuk memilih beberapa nilai, berikan nilai sebagai larik.
sumber
$('select[name=selValue]').val(1);$('.selectpicker').selectpicker('refresh');
Dengan cara ini Anda hanya mengubah pilihan yang tersembunyi, memanggil pemilih pilih ('segarkan') menggambar ulang tombol.Hanya ini yang perlu Anda lakukan. Tidak perlu mengubah html yang dihasilkan dari selectpicker secara langsung, cukup ubah bidang pilih tersembunyi, lalu panggil pemilih pilih ('segarkan').
sumber
$('.selectpicker').selectpicker('refresh');
dapat mematikan kinerja Anda jika Anda memiliki banyak pemilih dalam satu halamansumber
Tidak diperlukan penyegaran jika parameter "val" digunakan untuk menyetel nilai, lihat biola . Gunakan tanda kurung untuk nilai untuk mengaktifkan beberapa nilai yang dipilih.
sumber
Ini berhasil untuk saya.
sumber
Sebenarnya nilai Anda disetel, tetapi pemilih pilihan Anda tidak diperbarui
Seperti yang Anda dapat membaca dari dokumentasi
https://silviomoreto.github.io/bootstrap-select/methods/#selectpickerval
Cara yang benar untuk melakukan ini adalah
Untuk beberapa nilai, Anda dapat menambahkan larik nilai
sumber
Anda dapat menyetel nilai yang dipilih dengan memanggil metode val pada elemen.
Ini akan memilih semua item dalam pilihan banyak.
detail tersedia di situs: https://silviomoreto.github.io/bootstrap-select/methods/
sumber
$('selector').selectpicker('val',value);
Di tempat selektor Anda dapat memberi Anda selektor baik kelas atau id misalnya:
$('#mySelect').selectpicker('val',your_value)
sumber
sumber
Variasi kecil dari blushrt jawaban ketika Anda tidak memiliki nilai "hard code" untuk opsi (yaitu 1, 2, 3, 4 dll.)
Katakanlah Anda merender
<select>
dengan nilai opsi menjadi GUID dari beberapa pengguna. Maka Anda akan perlu entah bagaimana mengekstrak nilai opsi untuk mengaturnya di<select>
.Berikut ini kami memilih opsi pertama dari pilih.
HTML :
Javascript :
Kami menggunakan ini dalam pemilihan dengan beberapa kata kunci
<select multiple>
. Dalam hal ini tidak ada yang dipilih secara default, tetapi kami ingin item pertama selalu dipilih.sumber
Berdasarkan jawaban bagus @blushrt, saya akan memperbarui tanggapan ini. Hanya menggunakan -
berfungsi jika Anda telah memuat semua yang Anda butuhkan ke pemilih.
sumber
sumber
Dengan '0' menjadi nilai item yang ingin Anda pilih
sumber
Nah cara lain untuk melakukannya adalah, dengan kata kunci ini , Anda dapat dengan mudah mendapatkan objek di sini dan memanipulasi nilainya. Misal:
sumber
Juga, Anda bisa memanggil ini untuk multi-nilai
$(<your select picker>).selectpicker("val", ["value1", "value2"])
Anda dapat menemukan lebih banyak di sini https://developer.snapappointments.com/bootstrap-select/methods/
sumber
Taruh saja opsi: dipilih untuk mendapatkan nilai, karena pemilih bootstrap berubah menjadi dan muncul dengan cara yang berbeda. Tapi pilih tetap ada yang terpilih
sumber
ID Pengguna Untuk elemen, lalu
sumber
gunakan ini dan itu akan berhasil:
sumber