Saya telah memilih daftar dengan opsi:
$options = array(0 => '0', 500 => '500', 1000 => '1000');
Saya mencoba untuk menetapkan nilai default ke 500:
$form['price']['min']['#options'] = $options;
$form['price']['min']['#default_value'] = 500;
Tapi ini tidak berhasil.
Jawaban:
Kode Anda harus berfungsi, umumnya menggunakan nilai kunci sebagai nilai default, jika tidak berfungsi menjadikan string sebagai kunci dan menggunakannya sebagai nilai default.
sumber
Saya belum pernah melihat masalah ini. Nilai default itu seharusnya berfungsi. Saya akan mengatakan mencoba membuat kunci string dan set
#default_value
sebagai string. The#options
Array mungkin sedang melewatiarray_merge
suatu tempat, sehingga rekeying bilangan bulat kunci. Jika kunci adalah string maka itu seharusnya tidak terjadi. Saat ini, array Anda terlihat seperti ini:Tetapi melewati array itu melalui
array_merge
bisa mengatur kembali kunci integer menjadi berurutan:Jika itu terjadi maka
500
kuncinya tidak ada. Ini karenaarray_merge
tidak suka menyimpan kunci integer, tetapi Anda dapat menggunakan string untuk mencegahnya. Jadi, saya pikir array Anda akan terlihat seperti ini:Kemudian Anda dapat mengatur
#default_value
:Kalau tidak, apakah ada tempat lain yang
default_value
mungkin ditimpa?sumber
Apakah Anda mencoba menggunakan string bukannya bilangan bulat?
Mungkin juga patut dicoba menambahkan
'und'
kuncinya.sumber
Apakah Anda mencoba menggunakan kunci dari opsi $ array untuk menentukan nilai default?
$form['price']['min']['#default_value'] = $options[500];
sumber
Untuk menetapkan nilai default dalam daftar pilih, kami menggunakan parameter #default_value. Nilai atribut default_value daftar pilih akan menjadi kunci dari array daftar pilih.
sumber
Kode berikut akan menampilkan bidang dengan nilai defaultnya adalah 500.
sumber
Saya menghadapi masalah yang sama dan saya mencoba memberikan indeks array yang saya inginkan menjadi nilai default dan berhasil. Jawaban saya mirip dengan Ashok KS tetapi baris kedua saya tidak bisa mengerti.
sumber
diperbaiki, kita harus menetapkan nilai default pertama dari array $ option, jika kita menambahkan terakhir, kunci array berubah [1] => sains, [2] => drama, yang kanan adalah [192] => sains, [231 ] => drama :-)
sumber
mencoba:
$ form ['price'] ['# default_value'] = 500;
Ini bekerja baik untukku.
sumber
The
#default_value
harus memiliki argumen itu dalam bentuk sebagai#value
.sumber
Gunakan saja
yang berarti nilai default akan mengambil opsi 2eme
sumber
SOLUSI: Cari tahu form_select_options tidak menangani
#default_value
sama sekali. Jadi saya menggunakan#value property
:sumber
#value
param akan membuat tidak mungkin bagi pengguna untuk mengubah nilai.$_REQUEST['price']['min']
atau$my_default_value
. Apa pun yang Anda masukkan ke dalam #value akan menjadi nilai bidang terlepas dari apa pun yang dimasukkan pengguna.