當我嘗試顯示我的值時,選擇框始終為空。該值為整數 0 1 2 3 。在這種情況下,它應該顯示 0,但該框是空的。我究竟做錯了什么?vmDialog.dataModel.requestType 值等于 0 整數,但不顯示。
<select class="form-control " name="requestType" ng-model="vmDialog.dataModel.requestType">
<option value=0>0</option>
<option value="{{0}}">0</option>
<option value="0">0</option>
</select>
uj5u.com熱心網友回復:
首先有一個簡單的 HTML 問題,您需要確保每個選項都有唯一的值,到目前為止,您對所有選項都使用了值 0,所以當 的requestType值為 時0,UI 無法選擇應該選擇哪些專案被選中。
如果該值應該是其中之一,0,1,2,3那么您需要確保有一個value可以選擇的對應選項。
您可能想要做的是將選項系結到視圖模型中的陣列:
// on vmDialog var requestTypeOptions = [ { name = 'Zero', value = 0 }, { name = 'One', value = 1 }, { name = 'Two', value = 2 }, { name = 'Three', value = 3 }, ];然后在視圖中:(使用
ng-options)<select class="form-control" name="requestType" ng-model="vmDialog.dataModel.requestType" ng-options="o.value as o.name for o in vmDialog.requestTypeOptions track by o.value | orderby: 'value'" class="form-control input-sm"> </select>這里有一篇關于 ng-options 的好文章:https ://stackoverflow.com/a/30507651/1690217
如果您需要自定義模板,也可以使用 ng-repeat:
<select class="form-control " name="requestType" ng-model="vmDialog.dataModel.requestType"> <md-option ng-value="o.value" ng-repeat="oin vmDialog.requestTypeOptions | orderBy: 'value'">{{o.name}}</md-option> </select>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/527722.html
標籤:angularjs选择
