2016-01-06 71 views
0

真的很快問題。我注意到,當我在選擇元素上面單擊ng時,單擊選擇列表不會改變值。當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/

莫非

有人照顧解釋爲什麼發生這種情況,如果有一種方法來防止這種情況?我希望在父項目發生點擊事件以及選擇模型綁定的數據更改。由於

回答

1

它的工作原理,如果你添加ng-click="$event.stopPropagation()"到您的選擇。

event.stopPropagation()方法停止向父元素冒泡事件,從而阻止執行任何父事件處理程序。

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 
    } 
    }