[英]Angular default select option
我在选择正确设置数据的默认选项时遇到问题。 我正在通过Ajax调用从服务器获取数据。 然后,我希望能够使用表单来编辑此数据。 我想指出选择以使用在控制器对象中设置的选项,但是当您编辑选择时,我希望模型指向ajax数据,因为那是我写回服务器的内容。 如您在我的plunkr中所看到的,四个项目中的每一个都应填写其选择选项,但所有选择都开始为空。
他们在angular的官方文档中说要执行以下操作来设置默认值:
angular.module('defaultValueSelect', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.data = {
availableOptions: [
{id: '1', name: 'Option A'},
{id: '2', name: 'Option B'},
{id: '3', name: 'Option C'}
],
selectedOption: {id: '3', name: 'Option C'} //This sets the default value of the select in the ui
};
}]);
//Then in the HTML file:
<select name="mySelect" id="mySelect"
ng-options="option.name for option in data.availableOptions track by option.id"
ng-model="data.selectedOption"></select>
就我而言,这些选项不在ajax数据中,而仅是当前选择的选项。 所以我想通过控制器对象管理可用选项,但将选择绑定到ajax数据。 谢谢。
您应该定义要绑定到“选项”的哪个属性:
<select ng-options="option.value as option.text for option in options" ng-model="item.select"></select>
将您的选择更改为此:
<select ng-options="option.text as option.text for option in options" ng-model="item.select"></select>
一定可以正常工作:
由于您的ng-model包含完整选项对象,因此您还需要将其与ng-options中的对象绑定
<select name="mySelect" id="mySelect"
ng-options="option as option.name for option in data.availableOptions track by option.id"
ng-model="data.selectedOption"></select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.