2016-08-01 2 views
0

arbeitet Ich möchte eine benutzerdefinierte typehead Angular Bootstrap UI machen, hier ist mein eigenes Template:ng Klick innerhalb ng Template-script type nicht

<script type="text/ng-template" id="customTemplateall.html"> 
     <a> 
      <span ng-bind-html="match.label | uibTypeaheadHighlight:query"></span> 
      <br> 
      <small>Nama Lain:{{match.model.tag}}</small> 
     </a> 
</script> 

Also, mit diesem Code Ich mag würde einiges Ergebnis erwähnen nachdem der Benutzer einige Zeichen in einem Eingabefeld eingeben, hier ist der Code für das Eingabefeld:

<div class="wrp-search"> 
     <div class="labelsearch"><img src="images/bulb-black.png" alt=""/> Tulis Jenis Pemeriksaan</div> 
     <input type="text" ng-model="$parent.nama" placeholder="Contoh: Diabetes" uib-typeahead="item as item.name for item in dataall | filter:{tag:$viewValue} | limitTo:10" typeahead-min-length="2" typeahead-template-url="customTemplateall.html"> 
     <input type="submit" class="btn-green" ng-click="cari()" /> 
</div> 

Also, ich würde zum Beispiel mehrere Suchergebnis, haben mögen wie: 1 MG Labs

Wenn der Benutzer also auf den Tippkopf klickt, wird das Ergebnis multipliziert angezeigt. Wenn der Benutzer auf "GO" klickt, wird das Ergebnis angezeigt.

Gibt es irgendetwas, was ich tun muss?

Update:

Hier ist der Umfang in MyController:

$scope.onSelect = function ($item, $model, $label) { 
     $scope.$item = $item; 
     $scope.$model = $model; 
     $scope.$label = $label; 
      // alert($scope.$item.name); 
      $http({ 
       method: 'POST', 
       url: '/api/v1/order/cart/add/byname', 
       data: { 
       name: $scope.$item.name 
       } 
      }).success(function(){ 
       // $window.location.href = 'order/pemeriksaan'; 
       $scope.cartget(); 
       $scope.nama.name = ""; //this is the code 
      }).error(function(){ 
       alert("pencarian gagal"); 
      }) 
     }; 

Antwort

1

Sie können die folgende Funktion durch die Winkel ui-Bootstrap zur Verfügung gestellt verwenden:

$scope.onSelect = function ($item, $model, $label) { 
    //$scope.$item = $item; 
    //$scope.$model = $model; 
    //$scope.$label = $label; 

}; 

Diese Funktion wird ausgeführt, wenn Der Benutzer wählt eine beliebige Option aus der Typehead aus. So können Sie ein Modal öffnen, um mehrere Ergebnisse anzuzeigen.

Sie diese Funktion hier unter den typeahead Einstellungen finden Überschrift: http://angular-ui.github.io/bootstrap/#/typeahead

Beispiel:

$scope.onSelect = function ($item, $model, $label) { 
    var id = $item.id; 
    // This function opens a modal 
    // You could also create an alert 
    $scope.getMarketPlayerID(id); 
    // This statement clears the input to blank 
    $scope.selected = ""; 
}; 
+0

Hallo, danke für die wunderbare Antwort .. Ich frage mich nur, welche Tragweite, die ich für verwenden müssen tu das ... in der Dokumentation sagt es mir nicht die Funktion jedes $ item, $ model, $ label oder $ event ... und würdest du mir ein Beispiel geben, um nur auf etwas aufmerksam zu machen Ich habe geklickt? –

+0

Hallo, das Problem ist gelöst, ich muss nur auskommentieren, was Sie getan haben ... Ich möchte nur wissen, wie Sie das Suchformular leer lassen, nachdem der Benutzer auf was er/sie will ... –

+0

Um die Eingabe leer zu machen , weisen Sie dem Eingabemodell nur eine leere Zeichenfolge zu. Verwenden Sie den Bereich des Controllers, in dem Ihre ganze Logik geschrieben ist. Ich habe die Antwort bearbeitet und ein Beispiel hinzugefügt. –

Verwandte Themen