角选择NG-初始化设置为数组中的第一个值 [英] setting Angular select ng-init to first value in array
问题描述
我有我试图强制执行值为present提交表单一个简单的选择元素,我曾经尝试都设置所需要的属性,以及采用NG-初始化,以确保有选择的一个值,都失败。
I have a simple select element that I am trying to enforce a value being present to submit the form and I have tried both setting the required attribute as well as using ng-init to ensure there is a value selected and both fail.
我使用 NG-选项
从具有参考属性的对象数组创建值列表。然后,我想用 NG-INIT
来设置显示值第一Object.ref阵列中的
I am using ng-options
to create a list of values from an array of Objects that have a ref property. Then I would like to use ng-init
to set the shown value to the first Object.ref in the array.
<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>
我曾尝试以下没有任何运气
I have tried the following without any luck
ng-init="model.refmarker='refmarkers[0]'"
ng-init="model.refmarker='refmarkers[0].ref'"
ng-init="model.refmarker='rm.ref'"
另外,要求
属性不起作用?为角选择元素马车还是我做错了什么?
Also the required
attribute doesn't work ? Is the angular select element buggy or am I doing something wrong?
推荐答案
需要将只能在一边工作表单元素。
required will only work in side a form element.
您想为NG-的init =什么?model.refmarker = refmarkers [0]
What you want is 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>
这篇关于角选择NG-初始化设置为数组中的第一个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!