通过ng单击选择选项在使用AngularJS的chrome浏览器中不起作用

通过ng单击选择选项在使用AngularJS的chrome浏览器中不起作用,angularjs,Angularjs,我需要使用ng click,这样我就可以传递三个参数,并根据选择在本地json中进行设置 <select> <option id="" value="">--Select--</option> <option ng-repeat="comparison in comparisons" ng-click="setSkillCompar

我需要使用ng click,这样我就可以传递三个参数,并根据选择在本地json中进行设置

<select>                                                             
<option id="" value="">--Select--</option> 
<option ng-repeat="comparison in comparisons" ng-click="setSkillComparisonOperator(index,comparison.sid,comparison.name)"
 ng-selected="comparison.sid == data.value.comparisonOperator.sid">{{comparison.name}}</option>
</select>
我可以使用它ng模型和ng更改如下

<select ng-model="item" ng-options="o.id as o.id for o in list" ng-change="onFunction(item)">{{item}}</select>
<select ng-model="item" ng-options="o.id as o.id for o in list" ng-change="onFunction(o.id,o.name)">{{item}}</select>
在这种情况下,我不能传递如下三个参数

<select ng-model="item" ng-options="o.id as o.id for o in list" ng-change="onFunction(item)">{{item}}</select>
<select ng-model="item" ng-options="o.id as o.id for o in list" ng-change="onFunction(o.id,o.name)">{{item}}</select>

Angular实际上负责使用ng:model处理此表单。您不需要传递任何参数

在回调函数中,可以执行以下操作:

$scope.onFunction = function() {
  var id = $scope.item.id;
  var name = $scope.item.name;
  ...
};

最后,我找到了解决办法

HTML页面是

<div ng-app="miniapp">
    <div ng-controller="Ctrl">
        <select ng-model="selectedColor" ng-options="color as color.name for color in colors" ng-init="selectedColor = check(color1,colors)" ng-change="setColor(selectedColor)">
            <option value="">Select A Color</option>
        </select>
        <br/>
        <br/>
        Color Id:    <span ng-bind="colorId"></span>
        <br/>
        Color name:    <span ng-bind="color"></span>
        <br/>
        Color shade:    <span ng-bind="shade"></span>
        <br/>
    </div>
</div>

我也有同样的问题,我和Krish Lakshmanan一样解决了这个问题。我还补充说:

<option value="">Some text</option>
我不知道为什么,但在使用Chrome和AngularJs时,会出现这种选择错误,我认为问题出在Chrome上,因为Firefox起作用了,我认为Firefox会在输入上设置焦点值

我在这里找到了这条线索:

错误:

解决方法如下:

解决方法2如下:

关于铬的问题:

我希望我帮助了一些人,如果您在不使用空选项或强制选择成员的情况下找到解决方案,请告诉我!:

在更改中不使用对象o,因为它仅在较低的范围内有效。由于ng模型,项的值有效。此后,ng change=onFunctionitem.id、item.name将是正确的。另外,从标记内部移除{item}}。请参阅: