![](/img/trans.png)
[英]Dynamic default value to be selected from select dropdown in angularjs view page
[英]AngularJs Dropdown not sending the selected default value
我在女巫中有一個AngularJs下拉菜單,我根據一些條件設置了一個選定的值。 下拉菜單按其應有的方式工作,但唯一的問題是,如果我不對其執行任何操作,如果我提交表單,則不會收到經過動態選擇的默認值。
<!-- Payment Page -->
<div class="form-group">
<label class="control-label">Payment Page *</label>
<select name="payment_page" class="form-control" ng-model="invoice_data.form_data.payment_page">
<option ng-repeat="p_page in invoice_data.data.payment_pages" value="{{ p_page.id }}" ng-selected="(p_page.id === invoice_data.form_data.payment_page || p_page.default)">
{{ p_page.name }}
</option>
</select>
</div>
<!-- /End Payment Page -->
在inspect元素中,下拉列表看起來不錯,該選項具有其值,依此類推,但是在提交表單后,我沒有收到所選值。 如果我更改,則選擇下拉列表並提交表單,我會收到該值,但默認情況下不會。
我不了解php。 但是我可以猜測,這是因為當您的下拉菜單保持不變時,ngModel不會獲得任何價值。 為此,您提交表單時不會獲得默認值。 解決方案 :
您可以在控制器或html處執行2種方式:
1)在html上使用ng-init指令將ng模型初始化為默認值。
ng-init="invoice_data.form_data.payment_page = p_page.default ">
2)在控制器上,當您的表單提交時檢查ngModel中的空值或未選中選擇下拉列表,如果為空,則添加默認值。
感謝珍妮的時間和回復...我已經在控制器中這樣做:
angular.forEach(response.data.payment_pages, function(value, key) {
if (value.default) {
$scope.invoice_data.form_data.payment_page = value.id;
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.