2016-06-10 18 views
0

Ich habe 2 AutoCompleteTextBoxes in meiner ASP.Net-Seite. Ich brauche die 2. Textbox, um den Wert aus der ersten Box zu erhalten und sie als eine der Optionen zum Aufrufen der Liste zuzuweisen. Nur Client-Seite.jQuery AutoCompleteTextBox mit dynamischen Optionen

$("#txtBox1").AutoCompleteTextBox({ type: "val1", minLength: "3", userid: '1234' }); 

$("#txtBox2").AutoCompleteTextBox({ type: "val2", minLength: "3", userid: '1234', 
     cc: $('#txtBox1').on('autocompletechange change', function() { 
     //alert(this.value); 
     return this.value; 
    }) 
}); 

So muss cc den Wert in txtBox1 ausgewählt erhalten und die Liste der Werte aus der SQL proc zurück Popup. Ich habe versucht, Text() und val() nach der Funktion. Die Warnung funktioniert und hat den Wert. Aber das Endergebnis wird an den AJAX gesendet. Ich probierte sogar eine Knockout-Variable an einem Etikett und probierte

Aber es funktioniert nicht. Alles, was ich brauche, ist, dass die Optionen, die zum AJAX-Anruf gehen, so aussehen:

Jede Hilfe wird geschätzt. Vielen Dank.

+0

Modifiziert meinen Code wie folgt: var cc; $ ('# txtBox1'). on ('focusout', Funktion() { cc = this.value.toString(); $ ("# txtBox2"). AutoCompleteTextBox ({type: "irgendwas", minLength: " 3 ", Benutzer-ID: '1234', cc: '' + cc + ''}); }); Wenn ich jetzt durchtrete, werden die Daten von AJAX zurückgegeben, aber nicht als Drop-down angezeigt, aus dem ich auswählen kann. – Veena

Antwort

0

BEHOBEN!

Ich brauchte ein Keyup-Event. Ich indizierte auch die Tabelle in den Suchfeldern, da die Antwort sehr langsam war.

var cc = ''; 

$('#txtBox1').on('focusout', function() { 
    cc = this.value.toString(); 
}); 

var cc = this.value; // this will also work 

$("#txtBox2").on('keyup', function() { 
    $("#txtBox2").AutoCompleteTextBox({ type: "type2", minLength: "3", userid: '1234', ccode: '' + cc + '' });   
});