2015-06-19 18 views
6

के साथ किसी फ़ील्ड का मान कैसे प्राप्त करें मुझे पता है कि AngularJS में एनजी-चेंज के साथ टेक्स्टरेरा में उपयोगकर्ता इनपुट पर प्रतिक्रिया कैसे करें। लेकिन मैं कोणीय नियंत्रक के अंदर वर्तमान इनपुट कैसे प्राप्त कर सकता हूं? मुझे jQuery में $(this).value(); जैसी कुछ याद आ रही है।एनजी-चेंज

<script> 
    angular.module('changeExample', []) 
    .controller('ExampleController', ['$scope', function($scope) { 
     $scope.evaluateChange = function() { 
     console.log("How do I get the current content of the field?"); 
     }; 
    }]); 
</script> 

<div ng-controller="ExampleController"> 
    <textarea ng-change="evaluateChange()" id="ng-change-example1"></textarea> 
</div> 
+0

उपयोग [एनजी मॉडल] की तरह कुछ (https://docs.angularjs.org/api/ng/directive/ngModel) के बजाय –

उत्तर

10

एनजी मॉडल

यह एक इनपुट, पाठ क्षेत्र के मूल्य की दुकान, या का चयन करें।

अपने HTML इस तरह होना चाहिए:

<div ng-controller="ExampleController"> 
    <textarea ng-model="myValue" ng-change="evaluateChange()" id="ng-change-example1"></textarea> 
</div> 

फिर अपने नियंत्रक में आप संदर्भित कर सकते हैं कि $scope.myValue

आशा के साथ कि मदद करता है! :)

+0

धन्यवाद, कि मदद करता है। लेकिन क्या होगा यदि मेरे पास कई टेक्स्टरेस हैं और मैं सिर्फ अपने नियंत्रक में एक फ़ंक्शन चाहता हूं जो उनमें से किसी भी में परिवर्तनों पर प्रतिक्रिया करता है। मैं इसका संदर्भ कैसे दूंगा? –

+0

इस मामले में मैं शायद प्रत्येक textarea के प्रत्येक एनजी परिवर्तन में evaulateChange() समारोह डाल दिया होगा। कभी भी कोई भी बदलता है, फ़ंक्शन आग लग जाएगा, और वहां से आप प्रत्येक व्यक्तिगत एनजी-मॉडल को –

+0

के भीतर संदर्भित कर सकते हैं लेकिन मुझे कैसे पता चलेगा कि टेक्स्टटेरा मूल्यांकन चेंज() कहलाता था? क्या जानने का कोई तरीका है? –

9

आप वर्तमान तत्व के मूल्य प्राप्त करने के लिए $ ईवेंट का उपयोग कर सकते हैं। इस

<script> 
    angular.module('changeExample', []) 
    .controller('ExampleController', ['$scope', function($scope) { 
     $scope.evaluateChange = function(obj,$event) { 
     var currentElement = $event.target; 
     console.log(currentElement.value);//this will give you value of current element 
     }; 
    }]); 
</script> 

<div ng-controller="ExampleController"> 
    <textarea ng-change="evaluateChange(this)" id="ng-change-example1"></textarea> 
</div> 
+0

यह वही है जो मैं ढूंढ रहा हूं, लेकिन मुझे यह नहीं मिला: मेरे लिए, यह कहता है कि "अपरिभाषित" संपत्ति 'लक्ष्य' नहीं पढ़ सकता है ' –

+1

@VasilyHall मेरा संपादन देखें –