2014-12-08 6 views
6

से मॉडल अद्यतन कर रहा है मेरी html फ़ाइल के शरीर में निम्नलिखित पर विचार करें:एक Typeahead-ऑन-चयन

<html> 
... 
<body> 
... 
<div class='container-fluid' ng-controller="TypeaheadCtrl"> 
<input type="text" ng-model="selected" typeahead="name as entry.name for entry in entries | filter:{name: $viewValue} | limitTo:8" 
       typeahead-on-select='onSelect($item, $model, $label)' 
       class="form-control"> 

{{selection_made}} 
</div> 
<body> 
</html> 

जहां entries कहीं और भर जाती है। और फिर यह नियंत्रक में:

angular.module('ui.bootstrap.demo').controller('TypeaheadCtrl', function($scope, $http) { 
     ... 
     $scope.onSelect = function ($item, $model, $label) { 
       $scope.$selection_made = $item; 
     }; 
... 
}); 

मेरे पास स्वत: पूर्ण काम है, लेकिन चयन कॉलबैक अच्छी तरह से काम नहीं कर रहा है। मैं जो कुछ भी चुना गया है उसे प्रदर्शित करने के लिए {{selection_made}} की अपेक्षा कर रहा था, लेकिन इसके बजाय शाब्दिक पाठ {{selection_made}} प्रस्तुत किया गया। क्यूं कर? मैं क्या खो रहा हूँ?

नोट: मैंने संदर्भ के लिए this answer का उपयोग किया।

+0

धन्यवाद @Satpal, हाँ मैंने कोशिश की है कि भाग्य के बिना (मैं बिल्कुल वही चीज़ मिल) –

+0

आप $ scope.selection_made = $ आइटम के ऊपर एक डिबगर डाल दिया; लाइन, और आप आइटम, मॉडल और लेबल का निरीक्षण करते हैं। क्या वे ऐसी जानकारी रखते हैं जो आप उम्मीद करते हैं? – KreepN

+0

@ क्रीपएन हां, मैंने अभी जांच की है और यह करता है। मॉडल को छोड़कर, जो "अपरिभाषित" प्रतीत होता है। –

उत्तर

1

इस प्रयास करें,

angular.module('ui.bootstrap.demo').controller('TypeaheadCtrl',function($scope, $http) { 
    ... 
    $scope.onSelect = function ($item, $model, $label) { 
      $scope.$selected = $item; 
    }; 
... 
});