2017-04-01 2 views
0

Ich habe eine Funktion:Variable innerhalb Selektor - jQuery - das ist heikel

function ConditionalMake($makeselector, $modelselector) { 
// my code in here 
} 

ich meine Funktion wie folgt initialisiert:

var make_selector = $('select#make'); 
var model_selector = $('select#model'); 
ConditionalMake(make_selector, model_selector); 

Wie kann ich eine Variable in einem Selektor wie folgt verwenden (offensichtlich das nicht funktioniert):

var chosen = $makeselector + 'option:selected'.text(); 

Wenn meine Funktion ohne diese Variable es in Ordnung, wie funktioniert:

$('select#make option:selected').text(); 

Wie kann ich ‚Option: selected‘ in meiner Wähler, die bereits eine Variable, die einen Selektor (Hoffnung, die Sinn macht)? Danke für Ihre Antwort.

+0

Beachten Sie, dass Sie bei Auswahl nach Element-ID den Elementtyp nicht in den Selektor aufnehmen müssen. Also benutze '$ ('# make')' anstelle von '$ ('select # make')'. – nnnnnn

Antwort

1

Sie ziemlich nah dran sind, dann alles, was Sie brauchen, ist die find Funktion:

var chosen = $makeselector.find('option:selected').text(); 

Alternativ können Sie .children() verwenden. Dies funktioniert jedoch möglicherweise nicht, da nur untergeordnete Elemente des aktuellen Elements gesucht werden.

var chosen = $makeselector.children('option:selected').text(); 
+0

Oh wow das war einfach, lol! Vielen Dank, ich wusste, es wäre etwas einfaches - funktioniert perfekt :) Ich werde dies als die richtige Antwort markieren, wenn ich in 10 Minuten kann. Prost. – Notorious