2016-07-27 13 views
0

Wenn wir auf ein Listenelement klicken, muss ich den Wert des Bereichs ändern und auch Onclick-Funktion auslösen.ng-click funktioniert nicht in Angular JS

Aber in diesem Code funktioniert ng-click nicht, wenn wir für label für list-Element hinzugefügt haben.

-Code ist unten,

<ul class="" id="filter" path="filter"> 
<li value="popular" id="popular" data-faculty="Popular" class="item" onclick="SortByFilter(this, 'smartphone');" ng-click="Mobilebidirectionalsort = !Mobilebidirectionalsort"><label for="Popular">Popular</label><span class="btnSort"><input type="radio" id="Popular" name="filterOptions" class="btnRadio"></span></li> 

<li value="newest" id="newest" data-faculty="High Rating" class="item" onclick="SortByFilter(this, 'smartphone');" ng-click="Mobilebidirectionalsort = !Mobilebidirectionalsort"><label for="High Rating">High Rating</label><span class="btnSort"><input type="radio" id="High Rating" name="filterOptions" class="btnRadio"></span></li> 

</ul> 
+2

Warum die Onclick in Ihrem Code? Sie müssen nur in die eckige Anwendung klicken. – vanhonit

+0

Versuchen Sie, Anchor-Tag zu Ihrer Liste zu verwenden –

+0

onclick und ng-click funktioniert einwandfrei, ohne label-Tag in list-Tag hinzufügen. Irgendein anderer spezifischer Grund? – CodeMan

Antwort

0

Es sollte in Ordnung arbeiten. Ich habe einen Spiegel der Situation geschaffen, die Sie oben beschrieben haben und man kann deutlich sehen, wie ng-click ändert Wert von Mobilebidirectionalsort

<!DOCTYPE html> 
 
<html ng-app="myApp"> 
 

 
<head> 
 
    <link rel="stylesheet" href="style.css"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
 
</head> 
 

 
<body ng-controller="myCtrl"> 
 
    <div class="col-sm-7 nopadding doc-att"> 
 
     Mobilebidirectionalsort value : {{Mobilebidirectionalsort}} 
 
     <ul class="" id="filter" path="filter"> 
 
      <li value="popular" id="popular" data-faculty="Popular" class="item" onclick="SortByFilter(this, 'smartphone');" ng-click="Mobilebidirectionalsort = !Mobilebidirectionalsort"> 
 
       <label for="Popular">Popular</label><span class="btnSort"><input type="radio" id="Popular" name="filterOptions" class="btnRadio"></span> 
 
      </li> 
 
      <li value="newest" id="newest" data-faculty="High Rating" class="item" onclick="SortByFilter(this, 'smartphone');" ng-click="Mobilebidirectionalsort = !Mobilebidirectionalsort"> 
 
       <label for="High Rating">High Rating</label><span class="btnSort"><input type="radio" id="High Rating" name="filterOptions" class="btnRadio"></span> 
 
      </li> 
 
     </ul> 
 

 
     <script> 
 
      var myApp = angular.module("myApp", []); 
 

 
      myApp.controller("myCtrl", ['$scope', function($scope) { 
 
       $scope.Mobilebidirectionalsort = true; 
 

 
      }]); 
 

 

 
      function SortByFilter(attr1, attr2) { 
 
       console.log('SortByFilter called'); 
 
      } 
 
     </script> 
 
</body> 
 

 
</html>

+0

: Nicht funktioniert Seite gleichen Code ich versuchte außerhalb – CodeMan

+0

@CodeMan Es ist genau der gleiche Code wie Sie ist. Ich habe nichts gemildert. Wenn es ein Problem gibt, dann wäre es in Ihrem Controller. Sie müssen Ihren vollständigen Code veröffentlichen. –

Verwandte Themen