Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 已选择的不在版本中工作>;1.3_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 已选择的不在版本中工作>;1.3

Javascript 已选择的不在版本中工作>;1.3,javascript,html,angularjs,Javascript,Html,Angularjs,标记: 普朗克: 问题:如果检查select的html代码,您将看到htmlselected属性的位置正确 但是,它不会显示为高亮显示的选项。为什么? ==编辑== plunker代码在angular 1.3.20上按预期工作,但在1.4.x或1.5.x中被破坏 工作冲击器: ==EDIT2== 我已经在angularjs队列中发出了一张罚单: 基本上,他们说我们应该坚持使用ngOptions,尽管他们不知道为什么ngSelected会被破坏。好吧,你可以用ngOptions来代替 var mo

标记:

普朗克:

问题:如果检查
select
的html代码,您将看到html
selected
属性的位置正确

但是,它不会显示为高亮显示的选项。为什么?

==编辑==

plunker代码在angular 1.3.20上按预期工作,但在1.4.x或1.5.x中被破坏

工作冲击器:

==EDIT2==

我已经在angularjs队列中发出了一张罚单:


基本上,他们说我们应该坚持使用ngOptions,尽管他们不知道为什么ngSelected会被破坏。

好吧,你可以用ngOptions来代替

var module = angular.module("test", []);

module.controller('ctrl', function($scope){

  $scope.items = [
    {id: 1, name: 'foo'},
    {id: 2, name: 'bar'},
    {id: 3, name: 'baz'},
  ];

  $scope.user = {};
  $scope.selectedItem = {id: 1};

  $scope.user.item_id = $scope.selectedItem.id;


});


检查这里

好吧,您可以使用ng选项来代替

var module = angular.module("test", []);

module.controller('ctrl', function($scope){

  $scope.items = [
    {id: 1, name: 'foo'},
    {id: 2, name: 'bar'},
    {id: 3, name: 'baz'},
  ];

  $scope.user = {};
  $scope.selectedItem = {id: 1};

  $scope.user.item_id = $scope.selectedItem.id;


});


检查这里

我看你提到的任何版本都无法使用此功能。不管怎样,检查一下这个垃圾桶

按照您编写select的方式,我可以在任何输入上复制相同的内容。原因是,这与角度绑定的工作方式无关,除非您更改模型(即使用
nginit
),否则您的select对其模型一无所知

通过这种方式:

<select ng-model="user.item_id" ng-options="i.id as i.name for i in items">
</select>
{{i.name}

这并不意味着你的模型会更新,它只会更新dom元素。

我看不出这在你提到的任何版本上都有效。不管怎样,检查一下这个垃圾桶

按照您编写select的方式,我可以在任何输入上复制相同的内容。原因是,这与角度绑定的工作方式无关,除非您更改模型(即使用
nginit
),否则您的select对其模型一无所知

通过这种方式:

<select ng-model="user.item_id" ng-options="i.id as i.name for i in items">
</select>
{{i.name}

这并不意味着你的模型会更新,它只会更新dom元素。

使用ng选项是一个很好的选择是的,谢谢-但这不是我的观点,我想了解为什么ng selected似乎会被破坏。问题是使用$scope.selectedItem={id:1};试试这个$scope.selectedItem={id:'1'};而且效果很好。。。您正在将id字符串与id编号进行比较,因此我看到它不匹配。请检查更新的plunker版本,在选项标签中,您将看到匹配为true。仍然困惑这是一个伟大的一个使用ng选项是的,我可以,谢谢你-但这不是我的观点,我想了解为什么ng选择似乎被打破;试试这个$scope.selectedItem={id:'1'};而且效果很好。。。您正在将id字符串与id编号进行比较,因此我看到它不匹配。请检查更新的plunker版本,在选项标签中,您将看到匹配为true。仍然困惑抱歉,伙计,这是angular 1.3.20的同一版本,我看到它在chrome上工作。抱歉,伙计,这是与angular 1.3.20相同的版本,我看到它在chrome上工作。我看不到angular 1.3x和angular 1.5x的plnkr之间有任何区别。我看不到angular 1.3x和angular 1.5x的plnkr之间有任何区别。