Chosen: Tetapkan nilai yang dipilih dengan javascript

Dibuat pada 21 Jul 2011  ·  25Komentar  ·  Sumber: harvesthq/chosen

Menyetel nilai yang dipilih dengan javascript tidak berfungsi. Saya tahu bahwa selected() menambahkan kelas single_examplechzn_o_0 ke <li> yang tidak memiliki kesamaan dengan nilai opsi dan #single_example tidak ada lagi setelah selected(). Apakah ada cara ini bisa bekerja?

Ini bekerja:
```


$("#contoh_tunggal").val(2);

``````

Ini tidak berfungsi:
```
``````

$("#single_example").val(2);

Komentar yang paling membantu

Terima kasih @stof , itu berhasil.

Hanya untuk referensi, mengubah nilai secara dinamis menggunakan jQuery:

$("#single_example").val(2).trigger('chosen:updated');

Semua 25 komentar

Coba cabang saya (https://github.com/tompaton/chosen) mungkin memperbaiki ini untuk Anda.

Sayangnya itu tidak bekerja untuk saya.

Anda perlu memicu acara perubahan secara manual (sejauh yang saya tahu, tidak ada jalan lain yang mengganggu ...):

$("#single_example").val(2).trigger("change");

Terima kasih, ini bekerja dengan sempurna!

Saya melakukan contoh yang Anda tunjukkan dengan kesalahan, tetapi ketika saya melakukannya $("#single_example").val(2).trigger("change");
, Saya tidak memiliki perubahan dalam daftar (nilai yang dipilih).
Saya menggunakan versi terakhir dari plugin.
salam

Anda harus menggunakan https://github.com/tompaton/chosen , itu belum digabungkan ke cabang harvesthq.

Ya itu berfungsi seperti pesona setelah menggunakan cabang tompaton.

$("#single_example1").val(2);
$("#single_example2").val(3)
...
$("#single_example3").val(20);
$('.chosen').trigger('ubah');

Hai teman-teman, saya mengunduh garpu tompaton (https://github.com/tompaton/chosen) yang saya lakukan:
$("#single_example").val(2).trigger("ubah");
A ini bekerja seperti pesona
Thx sarannya :-)

Saya mencoba menulis fungsi yang jelas semua dan ini sepertinya tidak berhasil, bahkan menggunakan cabang tompaton:
$(".state_list").val("").trigger("ubah");

Saya memiliki opsi kosong:
```

Is there a way to totally remove all selections? Also how about selecting all?

Maaf, tambalan saya tidak membahas kotak pilihan ganda, itu akan membutuhkan
sedikit lebih banyak kode ...

Pada Jum, 12 Agustus 2011 jam 1:50, MB34
[email protected]
menulis:

Saya mencoba menulis fungsi yang jelas semua dan ini sepertinya tidak berhasil, bahkan menggunakan cabang tompaton:
$(".state_list").val("").trigger("ubah");

Saya memiliki opsi kosong:

Apakah ada cara untuk menghapus semua pilihan? Juga bagaimana dengan memilih semua?

Balas email ini secara langsung atau lihat di GitHub:
https://github.com/harvethq/chosen/issues/31#issuecomment -1782941

Jadi apakah ada cara untuk melakukan ini tanpa menambal plugin?

Oke, jadi menghapus semua pilihan dari multi-pilih dimungkinkan tanpa menambal, jika Anda ingin mengunci diri Anda sendiri tentang cara kerja internal yang dipilih:

// replace {select_id} below with the id of your <select> tag
$('#{select_id}_chzn .chzn-choices .search-choice a').click();

Ini akan mensimulasikan mengklik hapus "x" pada setiap item yang dipilih dalam beberapa pilihan.

Memilih semua opsi juga dimungkinkan (dengan mensimulasikan mengklik semua opsi yang tersedia di dropdown):

$('#{select_id}_chzn .chzn-drop li').click();

Kebutuhan ini benar-benar harus ditambahkan sebagai metode untuk plugin yang dipilih.

Oke, untuk memperjelas semua ini:

@pfiller telah menunjukkan bahwa ini semua mungkin di cabang harvesthq/dipilih menggunakan:

$("#single_example").val(2).trigger("liszt:updated");

Saya buruk karena tidak membaca kode/dokumentasi dengan cukup teliti. Itu akan berfungsi dengan baik untuk beberapa kotak pilih juga.

Menghapus semua opsi dari beberapa pilihan dapat dilakukan dengan:

$('#{select_id}').val([]).trigger('liszt:updated');

Saya pikir komentar saya sebelumnya masih merupakan satu-satunya cara untuk memilih semua opsi.

_Catatan_ bahwa garpu saya sekarang sama dengan harvesthq/chosen sehubungan dengan ini, jadi gunakan saja dan abaikan barang .trigger('change') .

Bagi Anda yang mungkin menggunakan adaptor Prototype Anda dapat melakukan hal yang sama sebagai berikut:

  $(select_box_id).select('option[selected]').each(function(el){el.selected = false});
  Event.fire($(select_box_id), 'liszt:updated')

Agak kikuk tapi berhasil. Jika ada cara yang lebih baik untuk melakukan ini lemmie tahu

Solusi yang saya gunakan adalah mengubah opsi yang dipilih pada pilih sumber asli dan kemudian membangun kembali Terpilih.

select.val(value);
select.chosen('destroy');
select.chosen({});

@roelvanduijnhoven solusi yang diberikan dalam komentar @tompaton (atau diberikan oleh @RyanS untuk versi Prototipe) lebih baik karena memperbarui elemen pilihan yang ada daripada menghancurkannya dan membangun yang baru

Untuk beberapa alasan solusi @tompaton sepertinya tidak berfungsi dalam kasus saya. Tidak terlalu berusaha, jadi mungkin saya melakukan sesuatu yang salah.

@roelvanduijnhoven Jika Anda menggunakan versi 1.0, acaranya sekarang chosen:updated

Terima kasih @stof , itu berhasil.

Hanya untuk referensi, mengubah nilai secara dinamis menggunakan jQuery:

$("#single_example").val(2).trigger('chosen:updated');

Dan untuk referensi, ini didokumentasikan: http://harvethq.github.io/chosen/#change -update-events

Maaf @roelvanduijnhoven , komentar saya dimaksudkan untuk masalah lain, sekarang saya sudah menghapusnya. (gmail telah mengelompokkan email, dan saya memposting komentar dengan membalas)

Terima kasih banyak! Utas ini menyelamatkan hari saya!
Akhirnya saya memiliki multi-pilih dengan nilai default :)

Hai, saya jquery baru dan baru saja mengunduh yang dipilih. Saya agak bingung dengan bagaimana mengatur/mendapatkan banyak nilai dalam pilihan.

apa yang saya coba lakukan adalah membuat opsi secara dinamis pada pemuatan halaman kemudian perlu memilih default

Terima kasih
Guri

gpdillion:
Gunakan ini
$('.chosen-select').val([1,2,3]).trigger('chosen:updated');

$("#id").val(id_nilai);
$("#id").chosen('hancurkan');
$("#id").chosen({});

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

mcclurem picture mcclurem  ·  4Komentar

vpode picture vpode  ·  5Komentar

eduardokranz picture eduardokranz  ·  6Komentar

jbrooksuk picture jbrooksuk  ·  6Komentar

gandarez picture gandarez  ·  5Komentar