salut à tous d'abitude lorsque je veus récupré le contenu d'un élement lorsque la valeur change je fais ainsi:
$('.listseq2').on('change',function(){
var choix = $('#idfiliere option:selected').val();
alert(choix);
});
cela fonctionne bien mais seulement lorsque mon select contiens un seul élement cela ne fonctionne plus parceque l'élement n'a pas été changé, quelle fonction je peut utiliser pour gérer tous les deux cas (qui fonctionne lorsqu'il ya une liste delement ou lorsqu'il ya un seul élement.
quand je met 'disabled' => 'disabled' cela desctive mon champ j'ai plus accès ce qui est normal
Salut,
Ca va faire un moment que je n'ai pas fait de jQuery, mais dans la logique des choses ceci devrait fonctionner :
var choix = $('#idfiliere option:selected').val(); // Tu récupères ainsi l'élément par défaut
$('.listseq2').on('change',function(){ // Et quand l'événement onchange est déclenché ça MAJ
choix = $('#idfiliere option:selected').val();
alert(choix);
});
Bonne journée !
merci our tons aide. cela fonctionne dans la cas ou il y'a une liste de résultat(liste d'option) dans le select, mais si il y'a un seul résultat cela ne fonctionnera pas parceque le contenu du select doit changé pour qu'on puisse lancer la fonction. or il y'a un seul résultat donc rien n'as changé et pas de fonction lancer
"le contenu du select doit changé pour qu'on puisse lancer la fonction" De quelle fonction parles-tu ? Peux-tu nous donner un peu plus de code et une idée du problème global que tu dois résoudre ?
Si j'ai bien compris tu veux récupérer plusieurs valeurs, c'est ça ? Tout simplement :
$('.listseq2').on('change',function(){
$('#idfiliere :selected').each(function(i, selected){
alert($(selected).text());
});
});
Du coup, si tu veux les récupérer un simple tableau et c'est bon :)
Non pas ça du tou Lud00, voici ce que je veus. j'ai fait un formulaire avec 3 listes liées (select) . le second se charge lorsque le choisit un élement du premier. et le troixième lorsque je choisit un élement du second, mon soucis est que lorsque je choisit un élement du premier et que l'élement du deuxième contient juste une valeur alors cela devient impossible d'affiché le troixième menu car j'utilise les change comme mentionné plus haut. Mais si dans le 2 select contients plusieurs valeur pas de sousi cela passe bien.
jesper vous avez compris
Tu pourrais mettre par défaut le select à vide afin de forcer l'utilisateur à effectuer une action sur ton select :
https://jsfiddle.net/h8dj59ys/2/
Merci sankaman vu que j'utilise le framework cakephp, je ne sais comment ajouter l'option disabled selected dans ma balise option du form
<table class="panel">
<tr>
<td>
<div class="form-group listseq2">
<?php
echo $this->Form->input('sequences_id', array('label' => 'Séquence','empty' => array('Choisir une Sequence'),'class'=>'form-control idsequence ajaxliste','options' => $listesequence,'data-target' => 'idfiliere','data-url' => array('action' => 'listefiliere')));
?>
</div>
</td>
<td>
<div class="form-group jsclass listfiliere">
<?php
echo $this->Form->input('filieres_id', array('label' => 'Classe *','empty' => array('Choisir une Classe'),'class'=>'form-control ajaxliste idfiliere ','data-target' => 'idmatiere','data-url' => array('action' => 'listematiere'),'id' => 'idfiliere','disabled' => 'selected'));
?>
</div>
</td>
<td>
<div class="form-group jsclass listmatiere">
<?php
echo $this->Form->input('matieres_id', array('label' => 'Matière *','class'=>'form-control classmatiere','id' => 'idmatiere'));
?>
</div>
</td>
</tr>
</table>
Je ne m'y connais pas en CakePHP, mais je vois que tu mets
'disabled' => 'selected'
dans les options, or dans mon exemple, 'disabled' et 'selected' sont les raccourcis de disabled="disabled" et selected="selected".
Il faudrait donc que tu changes en :
'disabled' => 'disabled', 'selected' => 'selected'
Je pense que ça devrait marcher ;)