Bonjour
J'ai un souci dans un script en jquery.
J'ai une fonction qui permet de mettre à jour un <select> en fonction d'un input. Cette fonction marche impec !
Code :
- $('#id_produit_groupe').change( function(){
- // affichage des produits en fonction du groupe de produit
- $.ajax({
- type : 'GET',
- url : 'controller/mes_produits/getListeProduit.php' , // url du fichier de traitement
- data : {id_produit_groupe:$(this).val()} , // données à envoyer en GET
- beforeSend : function() {$('#waiting_pseudo_produit').show(); }, // faire apparaitre l'image d'attente
- success : function(data){ // traitements JS à faire APRES le retour d'ajax-search.php
- $('#id_produit').html(data); // affichage des résultats dans le bloc
- $('#waiting_pseudo_produit').hide();
- }
- });
- });
|
J'ai ensuite un peu plus loin dans le script, un trigger qui déclenche cette fonction. Le trigger se déclenche bien et met donc à jour la liste déroulante.
Code :
- $('#id_produit_groupe').trigger( "change" );
|
Je voudrais maintenant mettre en "selected" une certaine valeur dans cette liste. Je fais comme ça :
Code :
- $('#id_produit [value="'+data.id_produit+'"]').attr('selected', true); // marche pas !
|
Et ça ne marche pas. La liste se met à jour , mais le "selected" n'est pas pris en compte. Je pense (mais pas sur , d'où ce post) que tout ça est de l'asynchrone, et que mon pb vient de là. Comment puis je dire au script de mettre le "selected" uniquement aprés l'exécution du trigger ? La syntaxe pour mettre le "selected" n'est pas en cause (je l'ai fait en dur pour vérifier et ça fonctionne).
Merci pour vos suggestions , car je ne suis pas tres tres fort en jquery.
Dominique