2017-06-14 2 views
0

J'essaie d'implémenter des listes déroulantes, les options chargées en rendant l'appel AJAX à une liste SharePoint. Est-il possible de saisir le texte de l'option sélectionnée et l'utiliser dans l'URL d'un autre AJAX. J'ai essayé ceci: knockout bind text label to dropdown value selected option text. Ne fonctionne pas Toute aide est grandement appréciée.Comment faire pour obtenir le texte de l'option sélectionnée dans knockout et l'utiliser dans l'url de l'appel ajax

Mon HTML: menu déroulant Première:

<select id="dropdown "class="form-control" data-bind="options: titles,event:{ change: loadEmployees}"> 

AJAX URL du second menu déroulant:

url: Url + "/items?$filter=(Title eq " + selectedOption + ")", 

Répondre

1

Plutôt que de se lier à l'événement de changement, vous devez lier la valeur et utiliser un abonnement cela observable.

<select id="dropdown "class="form-control" data-bind="options: titles, value: selectedTitle"> 

Dans votre viewmodel:

this.selectedTitle = ko.observable(); 

selectedTitle.subscribe(function(value) { 
    // load via ajax 
}); 
+0

Merci Michael, je suis nouveau à knockout.js. Je vais utiliser plus d'abonnement maintenant. Merci beaucoup. – dpr