Saya punya dua select
kotak HTML . Saya perlu mengatur ulang satu select
kotak ketika saya membuat pilihan di kotak lain.
<select id="name" >
<option value="">select all</option>
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
<select id="name2" >
<option value="">select all</option>
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
Ketika saya memilih opsi yang pertama select
(yaitu id="name"
), saya perlu mengatur ulang yang kedua select
ke select all
; sama, ketika saya memilih opsi yang kedua select
(yaitu id="name2"
), saya perlu mengatur ulang yang pertama select
ke select all
.
Bagaimana saya bisa melakukan itu?
javascript
jquery
Anish
sumber
sumber
Jawaban:
Sesuatu seperti ini harus melakukan trik: https://jsfiddle.net/TmJCE/898/
sumber
<button>
elemen, pastikan untuk tidak mengaturtype="reset"
. Itu tidak bekerja untuk saya sampai saya mengatur tipe kebutton
select
ke nilai yang diberikan.select.prop('selectedIndex', 0)
akan mengatur ulang opsi pertama,select.prop('selectedIndex', 1)
akan mengaturnya ke opsi kedua.Jika Anda hanya ingin mengatur ulang elemen pilih ke posisi pertama, cara paling sederhana adalah:
Untuk mengatur ulang semua elemen pilih dalam dokumen:
EDIT: Untuk mengklarifikasi sesuai komentar di bawah ini, ini me-reset elemen pilih untuk entri kosong pertama dan hanya jika ada entri kosong dalam daftar.
sumber
value=""
dapat muncul dalam urutan apa pun. 2) Opsi tanpa atribut nilai yaitu<option></option>
tidak sama dengan opsi dengan atribut nilai string kosong<option value=""></option>
, dan Anda membuatnya jelas, kita memerlukanvalue=""
bagian 3) Bahkan jika tidak ada<option>
dengan nilai string kosong; pengaturan.val('')
akan "mempengaruhi perubahan", pilih akan muncul berubah menjadi kosong, bukankah begitu? Setidaknya di Chrome saya ...Seperti yang ditunjukkan oleh @PierredeLESPINAY dalam komentar, solusi asli saya salah - itu akan mengatur ulang dropdown ke opsi paling atas, tetapi hanya karena nilai
undefined
kembali diputuskan ke indeks 0.Inilah solusi yang tepat, yang mempertimbangkan
selected
properti:DEMO : http://jsfiddle.net/weg82/257/
Jawaban asli - TIDAK BENAR
Di jQuery 1.6+ Anda perlu menggunakan
.prop
metode ini untuk mendapatkan pilihan default:Untuk membuatnya reset secara dinamis ketika dropdown pertama berubah, gunakan
.change
acara:sumber
$('#name2').val( $(this).prop('defaultSelected') );
$(this)
merujuk pada$('#name')
, bukan$('#name2')
, jadi tidakdefaultSelected
adalah<option>
properti, akan selalu kembaliundefined
pada<select>
Gunakan ini jika Anda ingin mengatur ulang pilih ke opsi yang memiliki atribut "terpilih". Bekerja mirip dengan form.reset () fungsi javascript inbuilt untuk pilih.
sumber
Ini sangat membantu saya.
sumber
Berikut adalah cara saya membuatnya berfungsi jika Anda hanya ingin mengembalikannya ke opsi pertama Anda misalnya "Pilih opsi" "Select_id_wrap" jelas merupakan div di sekitar pilih, tetapi saya hanya ingin memperjelas kalau-kalau ada ada kaitannya dengan bagaimana ini bekerja. Milik saya ulang ke fungsi klik tapi saya yakin itu akan bekerja di dalam perubahan juga ...
sumber
Gunakan kode di bawah ini. Lihat berfungsi di sini http://jsfiddle.net/usmanhalalit/3HPz4/
sumber
Ini juga bisa digunakan
sumber
Ini adalah cara paling fleksibel / dapat digunakan kembali untuk mengatur ulang semua kotak pilih di formulir Anda.
sumber
Berikut ini cara menanganinya dengan elemen opsi acak yang didefinisikan sebagai nilai default (dalam hal ini Teks 2 adalah default):
sumber
Anda dapat mencoba ini:
sumber
Saya punya masalah menggunakan properti defaultSelected dalam jawaban oleh @Jens Roland di jQuery v1.9.1. Cara yang lebih umum (dengan banyak pilihan dependen) adalah dengan meletakkan atribut data-default di dependen pilihan Anda dan kemudian beralih melalui mereka ketika mengatur ulang.
Dan javascript ...
Lihat http://jsfiddle.net/8hvqN/ untuk versi yang berfungsi di atas.
sumber
Saya membuat opsi baru di tag pilih yang memiliki nilai string kosong ("") dan digunakan:
sumber
Gunakan jquery untuk mengikat acara pertukaran untuk memilih tetapi Anda tidak perlu membuat
$(this)
objek jquery lain .sumber
Gunakan kode ini untuk mengatur ulang semua bidang pilihan ke opsi default, di mana atribut yang dipilih ditentukan.
sumber
Inilah solusi terbaik yang saya gunakan. Ini akan berlaku untuk lebih dari 1 slectbox
sumber
Opsi pengaturan 1 di elemen pilih dapat dilakukan oleh segmen ini. Untuk memperlihatkannya secara visual, Anda harus menambahkan .trigger ('change') di akhir.
sumber