Javascript 具有字符串值和ng选项整数的ng模型
这是我的JSON数组:Javascript 具有字符串值和ng选项整数的ng模型,javascript,angularjs,Javascript,Angularjs,这是我的JSON数组: array=[ {id:1, name:'A'} , {id:2, name:'B'} ] 在ng模型中,我设置的值可能是字符串 modelValue='1' 我有选择权 ng-option="option.id as option.name for option in array" ng-model="modelValue" 但它并没有在select中显示ng模型的选定值。根据您的描述,这里是一个工作的JSFIDLE示例: 您应该使用ng选项而不是ng选项 <
array=[ {id:1, name:'A'} , {id:2, name:'B'} ]
在ng模型中,我设置的值可能是字符串
modelValue='1'
我有选择权
ng-option="option.id as option.name for option in array"
ng-model="modelValue"
但它并没有在select中显示ng模型的选定值。根据您的描述,这里是一个工作的JSFIDLE示例: 您应该使用
ng选项
而不是ng选项
<select ng-options="p.name for p in people"
ng-model="selectedPerson">
</select>
您应该选择
ng选项
而不是ng选项
,您应该选择整数
本身而不是字符串
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.names=[{id:1,名称:'A'},{id:2,名称:'B'}]
$scope.modelValue=1;
});
此示例演示如何使用ng options指令填充下拉列表
您在ng选项中有语法错误
:
<select ng-options="option.name for option in array" ng-model="modelValue"></select>
modelValue为:{{modelValue}}
不应选择此项,因为所有id都是数字。如果要使其处于选中状态,请将$scope.modelValue解析为如下数字
$scope.modelValue= parseInt("1");
同时更改ng选项,而不是ng选项
ng-option="option.id as option.name for option in array"
ng-model="modelValue"
在ng模型中,我设置的值可能是字符串
modelValue='1'
您应该向$scope.modelValue提供与id
相同的基本体或对象类型。这是首选的方式
如果仅动态获取JSON数组
,并且无法保证类型一致性,则可以应用函数将其转换为设置为$scope.modelValue
在HTML中
<select ng-model="modelValue" ng-options="getId(option.id) as option.name for option in myarray">
</select>
另请参见答案typo:ng optionS,您忘记了“s”。@Walfrat在stack中键入时是错误的。我在ng选项中有整数值,在模型中有字符串。谢谢。但我通过Nishant123得到了我想要的完美解决方案