2009-09-28 6 views
1

J'ai un menu de sélection qui ressemble à ceci:comment passer la valeur d'index sélectionné pour une fonction de changement jquery

<select id ="cal-category-select"> 
    <option value="/event-sort/list/2009/9/sports/">Sports Events</option> 
    <option value="/event-sort/list/2009/9/fine-arts/">Fine Arts Events</option> 
    ... 
</select> 

lorsque l'utilisateur sélectionne une option dans la sélection, je dois passer l'attribut de valeur de l'option à cette fonction des données d'événement, il est le second paramètre:

$('#cal-category-select').bind('change.filter', need_value_attribute_here, update_cal); 

la fonction update_cal référencé reçoit les données transmises à partir du deuxième paramètre et utiliser pour obtenir un contenu ajax

une idée de comment je peux faire ça? Je ne l'ai pas été en mesure de faire fonctionner

ont essayé ...

var category_url = $('#cal-category-select option:selected').attr('value'); 
$('#cal-category-select').unbind().bind('change.filter', category_url, update_cal); 

mais qui ne retourne la première valeur d'option dans la liste

+0

est 'change.filter' votre propre événement personnalisé défini? –

+1

c'est l'événement de changement avec l'espace de noms de filtre – mjr

Répondre

2

Vous serait tout simplement utiliser :

$("#cal-category-select").val() 

alternatives plus la syntaxe:

$('#cal-category-select option:selected').val() 
+0

.val() ne me obtenir la valeur correctement mais il semble encore retourner la valeur de la première option dans la sélection (celle sélectionnée au moment de chargement de la page) Je suis à la recherche de la valeur de celui qui est sélectionné est-ce logique – mjr

2
$('#cal-category-select').bind('change.filter', function(){ 
    update_cal($(this).val()); 
}); 
1

Pour la valeur <option> sélectionnée, il doit juste être

$('#cal-category-select').val(); 
Questions connexes