Javascript 使用ng选项生成dropdownlist时,如何设置所选选项?
这是plnker 在Javascript 使用ng选项生成dropdownlist时,如何设置所选选项?,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,这是plnker 在script.js中,我创建了一个变量info来存储选项。所选选项应为“西班牙语”,因为 如何解决这个问题?在原始plunkr中,您使用HTML中的数据,而作用域中的变量称为info。使用ng repeat而不是ng选项,我使其工作如下: <div ng-controller="MyCntrl"> <select > <option ng-repeat="option in info.value.lang" selected="opt
script.js
中,我创建了一个变量info
来存储选项。所选选项应为“西班牙语”,因为
如何解决这个问题?在原始plunkr中,您使用HTML中的数据,而作用域中的变量称为info。使用ng repeat而不是ng选项,我使其工作如下:
<div ng-controller="MyCntrl">
<select >
<option ng-repeat="option in info.value.lang" selected="option.selected">{{ option.name }}</option>
</select>
</div>
{{option.name}
如果我把你的问题解释正确的话,也会得到你想要的结果
编辑:哦,顺便说一句,selected应该是class='selected'而不是布尔值。您需要添加
ng模型。根据您的info.value.lang
可以将selected:true
设置为模型值
function MyCntrl($scope) {
$scope.info = info;
$scope.selectedItem = null;
angular.forEach(info.value.lang, function(lang) {
if (lang.selected === true){
$scope.selectedItem = lang.value;
}
});
}
<div ng-controller="MyCntrl">
<select ng-model="selectedItem" ng-options="option.value as option.name for option in info.value.lang" >
</select>
</div>
函数MyCntrl($scope){
$scope.info=info;
$scope.selectedItem=null;
angular.forEach(info.value.lang,函数(lang){
如果(lang.selected==true){
$scope.selectedItem=lang.value;
}
});
}
演示:您在js和html中使用了不同的变量名。ngOptions需要有一个模型。要将西班牙语设置为默认值,必须执行以下操作
<body>
<div ng-controller="MyCntrl">
<select ng-model="someModel" ng-init="someModel=3082" ng-options="option.value as option.name for option in info.value.lang">
</select>
</div>
</body>
此处,某些型号将具有从选项中选择的值。您需要添加ng型号
检查此链接,它现在正在工作。。
可以使用ng repeat
。。但是有没有办法用ng选项
?是的,我想阿鲁库玛发布的答案更好,它使用了ng选项。这只在所选选项是最后一个选项时有效。如果我修改变量信息,如中所示,则所选选项错误。我没有在JS中编辑info变量。但正如我在“编辑选定项”中提到的,使用=选定项工作,不是真是假。@0n1yDream:plunker“value;”:3082,
和“value;”:6666,
。我在我的plunker中添加了test
对象。请检查我的plunker。我遇到另一个问题:当我选择一个选项时,例如“测试”,我想将“西班牙语”的选择值更改为false,将“测试”的选择值更改为true。我如何解决这个问题?
<body>
<div ng-controller="MyCntrl">
<select ng-model="someModel" ng-init="someModel=3082" ng-options="option.value as option.name for option in info.value.lang">
</select>
</div>
</body>