2015-06-22 32 views
1

使用ng-model,我們可以確定元素的類型嗎?如何用AngularJS確定元素的類型?

例子:我想知道這是否是一個下拉或複選框...

HTML

<select multiple ng-model='p.color'> 
    <option value="red">Red</option> 
    <option value="blue">Blue</option> 
</select> 

JS

myctrl.controller('ctrl_new', ['$scope',function ($scope) { 
    $scope.create = function() { 
    console.log($scope.p['color']); 
    } 
} 
+0

你可以使用jQuery –

+0

的hasClass()的幫助是什麼,你需要確定型的情況做呢? –

+0

在不同的元素類型上,我需要製作difffenet json結構 – Rajeev

回答

0

如果我得到你好,angular.element可以幫助你。

Angular.element和JQuery一樣工作。所以,如果你使用的是jquery,如果不是的話,它會使用jqLit​​e。

<select multiple id='p.color'> 
<option value="red">Red</option> 
<option value="blue">Blue</option> 
</select> 

myctrl.controller('ctrl_new', ['$scope',function ($scope){ 
    $scope.create = function() 
    { 
      var element = angular.element('#p.color'); 
       console.log(element.type); 
    } 
} 
+0

我們可以做到這一點,使用ng模型,而不使用ID – Rajeev

0

我會這樣做。創建一個指令,將「單擊」綁定到元素,然後控制檯將其記錄下來。運行它並檢查您的瀏覽器控制檯。事情是這樣的:

<div checker id="container"> 
    <select multiple ng-model='p.color'> 
     <option value="red">Red</option> 
     <option value="blue">Blue</option> 
    </select> 
</div> 

app.directive('checker', function() { 
     return function (scope, element, attrs) { 
      element.bind("click", function (event) { 
       console.log(event.target); 
      }); 
     }; 
    }); 
+0

我們可以做到這一點使用ng模型,而不使用ID beacuse提交如何將得到元素。 – Rajeev

+0

我不會爲此使用ng-model,並且您在尋找什麼ID?你應該可以通過event.target獲取它 –

相關問題