Saya telah melihat dokumentasi dari arahan pilih Angular di sini: http://docs.angularjs.org/api/ng.directive:select . Saya tidak tahu cara mengatur nilai default. Ini membingungkan:
pilih sebagai label untuk nilai dalam array
Inilah tujuannya:
{
"type": "select",
"name": "Service",
"value": "Service 3",
"values": [ "Service 1", "Service 2", "Service 3", "Service 4"]
}
Html (berfungsi):
<select><option ng-repeat="value in prop.values">{{value}}</option></select>
dan kemudian saya mencoba untuk menambahkan atribut ng-opsi di dalam elemen pilih untuk ditetapkan prop.value
sebagai opsi default (tidak berfungsi).
ng-options="(prop.value) for v in prop.values"
Apa yang saya lakukan salah?
ng-option
menggantikan<option ng-repeat="value in prop.values">{{value}}</option>
terima kasih lagi<select ng-model="limit" value="10" ng-options="v for v in [5,10,15,20,30,50]"></select>
The dokumentasi sudut untuk pilih * tidak menjawab pertanyaan ini secara eksplisit, tapi itu ada. Jika Anda melihat
script.js
, Anda akan melihat ini:Ini adalah html:
Ini tampaknya menjadi cara yang lebih jelas untuk default nilai yang dipilih pada
<select>
denganng-options
. Juga akan berfungsi jika Anda memiliki label / nilai yang berbeda.*
Ini dari Angular 1.2.7sumber
Jawaban ini lebih berguna ketika Anda membawa data dari DB, membuat modifikasi dan kemudian bertahan perubahan.
Lihat contoh di sini:
http://plnkr.co/edit/HrT5vUMJOtP9esGngbIV
sumber
sumber
Jika array objek Anda kompleks seperti:
Dan model Anda saat ini diatur ke sesuatu seperti:
Ini membantu menggunakan
track by
fungsi pada uuid (atau bidang unik apa pun), selama ng-model = "user.friend" juga memiliki uuid:sumber
Saya berjuang dengan ini selama beberapa jam, jadi saya ingin menambahkan beberapa klarifikasi untuk itu, semua contoh yang disebutkan di sini, merujuk pada kasus-kasus di mana data dimuat dari skrip itu sendiri, bukan sesuatu yang berasal dari layanan atau database, jadi saya ingin memberikan pengalaman saya kepada siapa pun yang memiliki masalah yang sama seperti saya.
Biasanya Anda hanya menyimpan id dari opsi yang diinginkan dalam database Anda, jadi ... mari kita tunjukkan
service.js
controller.js
Akhirnya sebagian html model.html
pada dasarnya saya ingin menunjukkan bagian " model.id_model sebagai model.name untuk model dalam model " the " model.id_model " menggunakan id model untuk nilai sehingga Anda dapat mencocokkan dengan " mainObj.id_model " yang juga the " selected_model ", ini hanya nilai polos, juga " as model.name " adalah label untuk pengulang, akhirnya " model dalam model " hanyalah siklus reguler yang kita semua ketahui.
Semoga ini bisa membantu seseorang, dan jika berhasil, pilih: D
sumber
mainObj.id_model
ng-model="mainObj.id_model"
selected_model
Cukup tambahkan opsi dengan nilai kosong. Itu akan berhasil.
DEMO Plnkr
sumber
<option value="" disabled>Please Select</option>
Cara yang lebih mudah untuk melakukannya adalah dengan menggunakan data-ng-init seperti ini:
Perbedaan utama di sini adalah bahwa Anda perlu memasukkan
data-ng-model
sumber
The ng model atribut menetapkan opsi yang dipilih dan juga memungkinkan Anda untuk pipa filter seperti orderby: orderModel.value
index.html
controllers.js
sumber
angular.js:117 TypeError: a.forEach is not a function
. Adakah pikiran?Jika ada yang menjalankan nilai default yang kadang-kadang tidak diisi pada halaman di Chrome, IE 10/11, Firefox - coba tambahkan atribut ini ke bidang input / pilih Anda memeriksa variabel yang dihuni dalam HTML, seperti:
sumber
Sangat sederhana jika Anda tidak peduli tentang pengindeksan opsi Anda dengan beberapa id numerik.
Nyatakan $ array Anda var - orang array
Di DOM lingkup di atas, buat objek
Di controller Anda, Anda mengatur ng-model Anda "disewa".
Semoga berhasil!!! Sangat mudah!
sumber
Sekadar tambahan, saya melakukan sesuatu seperti ini.
sumber