下拉列表中的所选值无效:无法设置所选值
Invalid selected value in drop downs : Failed to set selected value
我有动态生成下拉列表的代码。我正在使用ng repeat动态生成下拉列表,但我没有得到有效的选定值。
我已经在这里更新了我的代码。
HTML
<div ng-repeat="item in items">
<select ng-model="item.shareToOption" ng-options="c.value for c in shareToOptions"></select>
</div>
JS
$scope.items = [
{
"shareToOption" : {id:1,value:"AA1"}
},
{
"shareToOption" : {id:2,value:"AA2"},
},
{
"shareToOption" : {id:3,value:"AA3"},
},
{
"shareToOption" : {id:4,value:"AA4"}
}
];
$scope.shareToOptions = [
{id:1,value:"AA1"},
{id:2,value:"AA2"},
{id:3,value:"AA3"},
{id:4,value:"AA4"}
];
更新我不想对JSON对象进行任何更改,如何在不更改JSON对象的情况下实现结果?
使用以下代码,我在模型中获得了正确的id,但值没有得到更新。
<select class="form-control input-sm" ng-model="item.blockName.id" name="blockName"
ng-options="choice.id as choice.value for choice in blockNameOptions">
</select>
参考:http://jsfiddle.net/LCJub/1/
将第一次下降的值更改为AA2,但我仍然得到模型
[{"shareToOption":{"id":2,"value":"AA1"}},{"shareToOption":{"id":2,"value":"AA2"}},{"shareToOption":{"id":3,"value":"AA3"}},{"shareToOption":{"id":4,"value":"AA4"}}]
ngModel
通过引用而非值进行比较。
您需要引用$scope.shareToOptions
:中的对象
$scope.shareToOptions = [
{id:1,value:"AA1"},
{id:2,value:"AA2"},
{id:3,value:"AA3"},
{id:4,value:"AA4"},
{id:4,value:"AA5"},
{id:4,value:"AA6"},
{id:4,value:"AA7"}
];
$scope.items = [
{
"shareToOption" : $scope.shareToOptions[0]
},
{
"shareToOption" : $scope.shareToOptions[1]
},
{
"shareToOption" : $scope.shareToOptions[2]
},
{
"shareToOption" : $scope.shareToOptions[3]
}
];
演示:http://jsfiddle.net/Xr8MU/
如果你不想更改两个现有的数组,我建议在控制器初始化时重新映射$scope.items,以使用正确的引用:
var setReferences = function () {
var items = $scope.items;
for (var i = 0; i < items.length; i++) {
var reference = $scope.shareToOptions.filter(function (option) {
return option.id === items[i].shareToOption.id;
})[0];
items[i].shareToOption = reference;
}
};
setReferences();
演示:http://jsfiddle.net/whNzw/
相关文章:
- 为什么页面重新加载会使设置超时无效,以及如何避免
- 谷歌蜡烛图设置线宽无效
- Moment会在设置日期时自动更正无效日期
- 角度防止将模型设置为无效的未定义
- 如何设置ng对剑道自动完成无效
- Img源设置为数据无效
- 未捕获的语法错误:无法在“元素”上设置“innerHTML”属性:提供的标记是无效的 XML
- 为什么“@grant随机无效设置”会激活沙盒
- SVG 动画在以编程方式设置样式时有效,但在仅使用样式表时无效
- 谷歌地图:- 无效值错误:设置图标:不是字符串;并且没有网址属性;并且没有路径属性
- 使用 javascript 设置输入值会使 PHP 帖子无效
- 在html输入中设置值无效
- 设置最大高度无效
- 使用jQuery.attr或.prop设置属性值无效
- javascript在设置document.body.innerHTML时无效
- 设置相对于“window.innerHeight”的高度无效
- 在IE11中设置xmlHttp响应类型为msxml-document会抛出无效状态错误
- 设置document.location时,浏览器会转义一些url无效字符,但不会转义其他字符
- 当试图从django服务器设置值时,Java脚本给出无效的语法错误
- MongoError:游标被杀死或超时-Meteor超时设置无效