Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有字符串值和ng选项整数的ng模型_Javascript_Angularjs - Fatal编程技术网

Javascript 具有字符串值和ng选项整数的ng模型

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选项 <

这是我的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选项

<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得到了我想要的完美解决方案