2011-11-25 2 views
1
<optgroup label="Food"> 

Comment puis-je faire lorsque vous appuyez sur ce lienLe clic sélectionnez le optgroup dans jQuery

<a class='clickMe' id='Food'>Show </a> 

Il doit choisir la première <option> dans le optgroup, qui a l'étiquette optgroup « Food » (prise de l'attribut 'id' dans le lien)

$('.clickMe').live('click', function(){ 
var label = $(this).attr('id'); 

// How can i select the first option from the optgroup label here? 

}); 

Peut-être que si elle aide, la sélection a name = "produit [] [catégorie]"

Répondre

1
//bind a click event handler to any elements that have the `.clickMe` class 
$('.clickMe').live('click', function(){ 

    //change the value of the select input to the first option in the optgroup that has a label that is equal to the id of the link clicked 
    $('select').val($('optgroup[label="' + this.id + '"]').children('option:first').val()); 
}); 

Voici une jsFiddle de cette solution: http://jsfiddle.net/jasper/LqmJG/

est ici une pause rapide vers le bas de la magie ci-dessus:

  • $('optgroup[label="' + this.id + '"]'): sélectionne le groupe d'options avec l'étiquette qui correspond à l'identifiant du lien cliqué.
  • .children('option:first').val(): sélectionne la première option (qui est un enfant de la balise optgroup déjà sélectionnée) et obtient sa valeur.
  • Les deux lignes ci-dessus sont utilisées pour obtenir la valeur de la première option dans le groupe d'opt sélectionné, puis cette valeur est utilisée pour définir la valeur de l'élément <select>.
0

Essayez -

var opt = $("select > optgroup[label=Food] > option:first"); 
+0

ne fonctionnait pas sur soit – Karem

+0

Voici un exemple de travail - http://jsfiddle.net/pR8qF/ – ipr101

+0

Pourquoi ne marche pas travail « voitures allemandes » si je rentre que le Labe =? – Karem

Questions connexes