真的很快问题。我注意到,当我在选择元素上方进行ng-click时,单击选择列表不会更改该值。
HTML:
<div ng-controller="MyController" ng-app>
<div ng-click="test()">
<select size="1" ng-model="selectedCountry" ng-options="c.name for c in countries"></select>
{{selectedCountry}}
</div>
</div>
http://jsfiddle.net/ky5F4/131/
有人可以解释为什么会发生这种情况,是否有办法防止这种情况发生?我希望在父级触发上有一个click事件以及选择的ng-model绑定数据。感谢
答案 0 :(得分:1)
如果您将ng-click="$event.stopPropagation()"
添加到您的选择中,则会有效。
event.stopPropagation()方法停止将事件冒泡到父元素,从而阻止执行任何父事件处理程序。
答案 1 :(得分:0)
<div ng-controller="MyController" ng-app>
<select size="1" ng-model="selectedCountry" ng-options="c.name for c in countries" ng-change="changed()"></select>
{{selectedCountry}}
</div>
控制器
$scope.changed = function()
{
if($scope.modelname == "Whatever Your Parent Element is")
{
//whatever you want to do
}
}