Saya pikir menambahkan "value"
atribut yang ditetapkan pada <select>
elemen di bawah ini akan menyebabkan konten <option>
saya yang disediakan "value"
dipilih secara default:
<select name="hall" id="hall" value="3">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
Namun, ini tidak berhasil seperti yang saya harapkan. Bagaimana saya bisa mengatur <option>
elemen mana yang dipilih secara default?
html
html-select
Jichao
sumber
sumber
Jawaban:
Tetapkan
selected="selected"
untuk opsi yang Anda inginkan sebagai standar.sumber
ng-model
menimpa nilai yang dipilih default (bahkan tidak terdefinisi jika Anda tidak menetapkan objek terikat). Butuh waktu beberapa saat untuk mencari alasan mengapaselected="selected"
opsi tidak dipilih.Jika Anda ingin memiliki teks default sebagai semacam placeholder / hint tetapi tidak dianggap sebagai nilai yang valid (sesuatu seperti "selesai di sini", "pilih negara Anda" ecc.) Anda dapat melakukan sesuatu seperti ini:
sumber
hidden
atribut saja. Lihat jawaban @ chong-lip-phang di bawah ini: stackoverflow.com/a/39358987/1192426<option value="" selected disabled hidden>Choose here</option>
Contoh lengkap:
sumber
selected="selected"
? Maksud saya, apa yang Anda tabung? Waktu? Ukuran? Ini dapat diabaikan dan jika membuat kode lebih "sesuai", mengapa tidak melakukannya ?Saya menemukan pertanyaan ini, tetapi jawaban yang diterima dan sangat tidak berhasil tidak berhasil untuk saya. Ternyata jika Anda menggunakan Bereaksi, maka pengaturan
selected
tidak berfungsi.Sebaliknya, Anda harus menetapkan nilai dalam
<select>
tag secara langsung seperti yang ditunjukkan di bawah ini:Baca lebih lanjut tentang mengapa di sini di halaman Bereaksi .
sumber
value
atribut untuk<select>
tag, yaitu<select value="3">
, tetapi itu tidak valid dalam validator W3C.$("select").each(function(){ $(this).find('option[value="'+$(this).attr("value")+'"]').prop('selected', true); });
Anda bisa melakukannya seperti ini:
Berikan kata kunci "terpilih" di dalam tag opsi, yang ingin Anda tampilkan secara default di daftar turun bawah Anda.
Atau Anda juga dapat memberikan atribut ke tag opsi yaitu
sumber
selected="false"
tidak diperbolehkan danselected=""
juga membuatnya dipilih. Satu-satunya cara untuk membuat opsi yang tidak dipilih adalah menghapus atribut. w3.org/html/wg/drafts/html/master/…jika Anda ingin menggunakan nilai-nilai dari Formulir dan tetap dinamis coba ini dengan php
sumber
Saya lebih memilih ini:
'Pilih di sini' menghilang setelah opsi telah dipilih.
sumber
value=""
untuk memastikan Anda mendapatkan nilai kosong.Perbaikan untuk jawaban nobita . Anda juga dapat meningkatkan tampilan visual daftar drop-down, dengan menyembunyikan elemen 'Pilih di sini'.
sumber
Cara terbaik menurut saya:
Kenapa tidak dinonaktifkan?
Saat Anda menggunakan atribut yang dinonaktifkan bersama dengan
<button type="reset">Reset</button>
nilai tidak diatur ulang ke placeholder asli. Sebaliknya browser memilih opsi pertama yang tidak dinonaktifkan yang dapat menyebabkan kesalahan pengguna.Nilai kosong bawaan
Setiap formulir produksi memiliki validasi, maka nilai kosong seharusnya tidak menjadi masalah. Dengan cara ini, kita mungkin harus memilih kosong tidak diperlukan.
Atribut sintaks XHTML
selected="selected"
sintaks adalah satu-satunya cara agar kompatibel dengan XHTML dan HTML 5. Ini adalah sintaks XML yang benar dan beberapa editor mungkin senang dengan hal ini. Ini lebih kompatibel ke belakang. Saya tidak punya perasaan kuat tentang ini, tetapi jika argumen yang disebutkan di atas adalah persyaratan Anda, Anda harus mengikuti sintaksis lengkap.sumber
Contoh lain; menggunakan JavaScript untuk menetapkan opsi yang dipilih.
(Anda bisa menggunakan contoh ini untuk untuk loop array nilai ke komponen drop down)
<select id="yourDropDownElementId"><select/>
sumber
el.selected = "selected";
memenuhi standar w3?selected
adalah properti boolean sebagaimana didefinisikan oleh w3c - w3.org/TR/html401/interact/forms.html `17.6.1 Opsi yang dipilih sebelumnya dipilih [CI] - Saat diatur, atribut boolean ini menetapkan bahwa opsi ini adalah pra-terpilih.` Untuk informasi lebih lanjut tentang penggunaan, lihat sekolah w3c - w3schools.com/jsref/prop_option_selected.aspYang dipilih atribut adalah atribut boolean.
Ketika ada, itu menentukan bahwa opsi harus dipilih sebelumnya ketika halaman dimuat.
Opsi yang dipilih sebelumnya akan ditampilkan pertama kali di daftar drop-down.
sumber
Jika Anda bereaksi, Anda dapat menggunakan
defaultValue
sebagai atribut alih-alihvalue
di tag pilih.sumber
Jika Anda menggunakan pilih dengan sudut 1, maka Anda perlu menggunakan ng-init, jika tidak, opsi kedua tidak akan dipilih karena, ng-model mengabaikan nilai defaul yang dipilih
sumber
Saya menggunakan fungsi php ini untuk menghasilkan opsi, dan menyisipkannya ke HTML saya
Dan kemudian dalam kode halaman web saya, saya menggunakannya seperti di bawah ini;
Jika $ endmin dibuat dari variabel _POST setiap kali halaman dimuat (dan kode ini di dalam formulir yang memposting) maka nilai yang dipilih sebelumnya dipilih secara default.
sumber
atribut nilai dari tag tidak ada, sehingga tidak ditampilkan seperti yang Anda pilih. Secara default, opsi pertama ditampilkan pada pemuatan laman tarik-turun, jika atribut nilai disetel pada tag .... Saya menyelesaikan masalah saya dengan cara ini
sumber
Kode ini menetapkan nilai default untuk elemen pilih HTML dengan PHP.
sumber
Kamu bisa menggunakan:
dari pada,
keduanya sama-sama benar.
sumber
Saya hanya akan membuat nilai opsi pilih pertama default dan hanya menyembunyikan nilai itu di dropdown dengan fitur "tersembunyi" baru HTML5. Seperti ini:
sumber
Saya sendiri menggunakannya
sumber
Anda hanya perlu menempatkan atribut "terpilih" pada opsi tertentu, bukan langsung memilih elemen.
Berikut ini cuplikan untuk contoh kerja yang sama dan beberapa dengan nilai yang berbeda.
sumber
Set selected = "selected" di mana nilai opsi adalah 3
silakan lihat contoh di bawah ini
sumber
Masalahnya
<select>
adalah, kadang-kadang terputus dengan keadaan apa yang saat ini diberikan dan kecuali ada sesuatu yang berubah dalam daftar opsi, tidak ada nilai perubahan yang dikembalikan. Ini bisa menjadi masalah ketika mencoba memilih opsi pertama dari daftar. Kode berikut bisa mendapatkan opsi pertama yang pertama kali dipilih, tetapionchange="changeFontSize(this)"
dengan sendirinya tidak. Ada metode yang dijelaskan di atas menggunakan opsi dummy untuk memaksa pengguna untuk membuat nilai perubahan untuk mengambil nilai pertama yang sebenarnya, seperti memulai daftar dengan nilai kosong. Catatan: onclick akan memanggil fungsi dua kali, kode berikut tidak, tetapi memecahkan masalah pertama kali.sumber
Saya menggunakan Angular dan saya mengatur opsi default dengan
Template HTML
Naskah:
sumber
Ini adalah bagaimana saya melakukannya ...
sumber
Anda bisa coba seperti ini
sumber
Cuplikan HTML:
Cuplikan JavaScript asli:
sumber
sumber