Suchfilter in Angular.js,

9

Ich bin neu in diesem Rahmen, übe Angularjs und folge den Tutorials auf der Webseite.

Es gibt ein Beispiel, wo wir die Daten in der Tabelle suchen können, Das Beispiel ist wie folgt,

%Vor%

Hier im obigen Code kann ich das Telefon mit zwei verschiedenen Eingaben suchen, d. h. nach Modellnamen suchen und nach Firma suchen. Der obige Code läuft gut,

Aber was, wenn ich suchen muss, indem ich die Art der Suche in den Auswahloptionen verwende,

Der Code ist wie folgt

%Vor%

Aus dem obigen Code können Sie sehen, dass ich versuche zu erreichen, ist Such-Mitarbeiter durch "Name", "Firma" oder "Bezeichnung" in der Auswahlbox,

aber ich gehe hier falsch,

Die ng-Modell-Abfrage greift nicht auf das richtige Mapping zu, oder vielleicht mache ich es falsch,

kannst du mir bitte sagen, wie ich das erreichen werde,

welcher Teil des Codes sollte ich ändern

    
Rahul Shivsharan 25.10.2013, 08:34
quelle

3 Antworten

25

Ich habe eine Plunkr erstellt. Sie können Eigenschaften für die Suchanfrage definieren, nach der gefiltert werden soll. Wählen Sie in der Auswahl die Eigenschaft aus, nach der Sie filtern möchten, und ordnen Sie sie der Suchabfrage zu.

Ссылка

    
bekite 25.10.2013, 10:15
quelle
4

Ein Beispiel, auf das Sie verweisen, verwendet das Objekt zum Angeben von Filterschlüsseln, während Ihr Code immer eine Zeichenfolge sendet, und dies ist die Hauptursache.

Nehmen wir an, ich habe "e" in das Suchfeld eingegeben. Ohne "Suche nach" würde der Filter in jedem Schlüsselwert nach "e" suchen. Wenn wir den Wert aus "Suche nach" auswählen, wird die Abfragezeichenfolge zum Wert der aktuellen Option ("Name", "Firma" oder "Bezeichnung") und wird in derselben Szenerie wie "e" fortgeführt, außer ohne Ergebnis, weil es aren keine Übereinstimmungen in Testdaten.

Die richtige Methode zum Auswählen von "Suchen nach" besteht darin, ein Objekt mit einem einzelnen Schlüssel zu erstellen, der als ausgewählte Option gleich der Suchabfrage benannt wird. Wenn der Benutzer also mit "sh" nach dem Namen sucht, lautet er:

%Vor%

Falls noch keine Option ausgewählt wurde, sollte die Eigenschaft "$" heißen, so wird der Filter nach allen Eigenschaften suchen.

Ich habe den Code so eingerichtet, dass er wie beabsichtigt funktioniert ( link ). Wie Sie dies implementieren, ist eine andere Frage, aber ich ging, indem ich das Objekt queryFilter auf $ scope mit Getter definieren, das Objekt des gewünschten Formats zurückgibt.

%Vor% %Vor%     
Klaster_1 25.10.2013 10:03
quelle
0

Einfach und flexibel jsfiddle .

Unten ist Filterreferenz, die ich benutzt habe

%Vor%     
sivashanmugam kannan 23.01.2018 11:48
quelle