Angular JS - Zurücksetzen eines Dropdown-Menüs mit einer Funktion

8

Ich habe einen Listener in Angular eingerichtet, um ein Ereignis auszulösen, wenn sich die Option eines Auswahlkästchens ändert.

Ich habe auch eine Schaltfläche, die ich das Auswahlfeld auf "leer" zurücksetzen möchte (NICHT Option 1).

Hier ist ein Code:

HTML:

%Vor%

Javascript:

%Vor%

Listener-Funktion in der Auswahlbox:

%Vor%

Diese KINDA funktioniert, obwohl nur manchmal, und ich habe keine Ahnung, warum es funktioniert (oder nicht), weil ich denke, dass es die falsche Art ist, darüber zu handeln. Ich habe versucht, es mit jQuery .prop('selectedIndex',0); zurückzusetzen, aber während dies den Index zurücksetzt, löst es überhaupt keine Abhörfunktion aus, so dass dies nicht funktioniert.

Irgendwelche Ideen?

    
Jascination 10.04.2013, 07:26
quelle

1 Antwort

11

Zuerst - werfen Sie einen Blick auf ngOptions in der Select-Direktive: Ссылка

%Vor%

Dies funktioniert, solange '0' keine der Kategorien ist. Die Auswahlbox zeigt ein Leerzeichen, wenn der Wert von orderProps nicht mit den Werten in Kategorien übereinstimmt.

Ihre $ watch-Funktion ist kein Listener in der Auswahlbox, sie überwacht orderProps und orderProps kann außerhalb der Auswahlbox geändert werden. Wenn Sie einen Listener in der Auswahlbox haben möchten, können Sie eine ng-change="myOnChangeFn ()" hinzufügen.

Ein funktionierender Plunkr wurde hinzugefügt: Ссылка

    
user2264760 10.04.2013, 09:20
quelle

Tags und Links