2016-09-23 71 views
1

我是angularjs上的新成員。我在jquery上寫了一段代碼。但我想寫在angularjs上。我想獲得單擊的元素值和數據ID。後來我想插入一個輸入值得到的值。我可以得到數據ID,但我不能得到按鈕的價值。我想將所有jquery轉換爲angular。我該如何解決?獲取點擊元素值角js

HTML

<div class="btn-group btn-group-md" id="emlk_d"> 
    <button type="button" data-switch-set="size" data-switch-value="normal" ng-click="emlk_d_change($event);" class="btn btn-default btn-lg" data-id="2" ng-model="k_1">K_1</button> 
    <button type="button" data-switch-set="size" data-switch-value="normal" ng-click="emlk_d_change($event);" class="btn btn-default btn-lg" data-id="1">S_1/button> 
</div> 

Jquery的

$("#emlk_d button").click(function(){ 
     $(this).addClass('btn-primary').siblings().removeClass('btn-primary'); 
     var x=$(this).text(); 
     $('.d_ak').text(x); 
     var x=$(this).attr("data-id"); 
     if(x==2){ 
      $("#emlk_d2").val(x);      
     }else if(x==1){      
      $("#emlk_d2").val(x); 
     }                  
    }); 

角JS

var app = angular.module("main_app", []); 
    app.controller("main_cont", function($scope) { 
     $scope.emlk_d_change = function(e) { 
      var id = $(e.target).data('id'); 
      alert(id); 
      var x=angular.element('[data-id="'+id+'"]').val(); 
      alert(x); 
     } 
    }); 

回答

1

在NG-click方法

$scope.emlk_d_change = function(event){ 

var button = event.currentTarget; 
console.log(angular.element(button).attr('data-id')); // get the data-id values 
console.log(angular.element(button).text()); // button content 
} 
+0

$未定義您的代碼不工作我刪除了jquery.js – Hermes

+0

它必須有angular.element(button).attr('data-id');在這種情況下它正在工作。 – Hermes