我有一个简单的select元素,我试图强制一个值存在提交表单,我已经尝试了设置所需的属性以及使用ng-init来确保选择一个值,并且都失败.
我使用ng选项从具有ref属性的对象数组创建一个值列表.然后我想使用ng-init将显示的值设置为数组中的第一个Object.ref.
<select name="refmarker" class="input-block-level form-width-adjust" ng-model="model.refmarker" ng-options="rm.ref for rm in refmarkers" ng-disabled="editable" ng-init="model.refmarker='refmarkers[0].ref'" required></select>
我没有运气尝试过以下
ng-init="model.refmarker='refmarkers[0]'" ng-init="model.refmarker='refmarkers[0].ref'" ng-init="model.refmarker='rm.ref'"
解决方法
所需的只能在一个表单元素的一侧工作.
你想要的是ng-init =“model.refmarker = refmarkers [0]”
<!doctype html> <html lang="en" data-ng-app="app"> <head> <Meta charset="utf-8"> <title>Test</title> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.js"></script> <script type="text/javascript"> angular.module('app',[]) .controller('Main',function($scope) { $scope.model = {}; $scope.refmarkers = [{ref:'abc'},{ref:'def'},{ref:'ghi'}]; }); </script> </head> <body ng-controller="Main"> {{'Angular'}} <select ng-model="model.refmarker" ng-options="rm.ref for rm in refmarkers" ng-init="model.refmarker=refmarkers[0]"></select> {{model.refmarker}} </body> </html>