Disabled ne fonctionne pas pour un select
Résolu
Jack
-
Jack -
Jack -
Bonjour,
J'ai un petit soucis, j'ai crée 2 liste déroulantes associées avec Ajax, le hic est que je voudrais 'grisé' la deuxième liste lorsque l'élément sélectionné dans le première liste ne contient aucun élément.
Voila mon code javascript.
var marque = document.getElementById('marque');
var modele = document.getElementById('modele');
if (marque.value <= 0){
modele.disabled = true;
}else{
modele.disabled = false;
}
et voila mon html
<select name="marque" id="marque" onchange='go();'>
<option value="-1">Sélectionner une marque</option>
{foreach from=$marque item=marque_vehic}
<option value="{$marque_vehic[0]}">{$marque_vehic[1]}</option>
{/foreach}
</select>
<div id="modele"><select name="modele"><option value="-1">Sélectionner un modèle</option></select></div>
Je vous remercie d'avance de votre aide.
J'ai un petit soucis, j'ai crée 2 liste déroulantes associées avec Ajax, le hic est que je voudrais 'grisé' la deuxième liste lorsque l'élément sélectionné dans le première liste ne contient aucun élément.
Voila mon code javascript.
var marque = document.getElementById('marque');
var modele = document.getElementById('modele');
if (marque.value <= 0){
modele.disabled = true;
}else{
modele.disabled = false;
}
et voila mon html
<select name="marque" id="marque" onchange='go();'>
<option value="-1">Sélectionner une marque</option>
{foreach from=$marque item=marque_vehic}
<option value="{$marque_vehic[0]}">{$marque_vehic[1]}</option>
{/foreach}
</select>
<div id="modele"><select name="modele"><option value="-1">Sélectionner un modèle</option></select></div>
Je vous remercie d'avance de votre aide.
Configuration: Windows 7 / Safari 532.5
10 réponses
-
Bonjour,
que veux tu tester avec :if (marque.value <= 0){ modele.disabled = true; }else{ modele.disabled = false; }? -
Enfait j'ai 2 balises select. la premiere est 'marque' et la deuxieme est 'modele'
<select id='marque'>
<option value=-1>Sélectionner une marque</option>
<option value=0>AUTRES</option>
<option value=1>RENAULT</option>
<option value=2>PEUGEOT</option>
</select>
et je voudrais que lorsque 'AUTRES' ou 'Sélectionner une marque' est sélectionné, le deuxième select se grise afin de ne plus pouvoir toucher à la liste. -
Alors teste :
if (marque.options.selectedIndex <= 0){
modele.disabled = true;
}else{
modele.disabled = false;
} -
Non, sa me met des traits dans le deuxième select.
Petit aparte, j'ai essayé de masquer le select avec modele.style.visibility = 'hidden'; cela fonctionne.
Est-ce que sa peu venir du fait que le deuxième select est dans un div ? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ca te met "des traits dans le deuxième select" ? Oo'
Et je pense pas que que ca ai un rapport avec le fait qu'il soit dans un div.
Essaye avec :modele.disabled = "true";
etmodele.disabled = ""; // a la place de false
-
-
Si tu fais
modele.disabled = false;
oumodele.disabled = "";
sans aucun test ça marche ? -
nop marche pas. Est ce que tu crois que je pourrais avoir faux des lorsque jessaye
var marque = document.getElementById('marque');
var modele = document.getElementByTagName('modele');
if (marque.value <= 0){
modele.disabled = true;
}else{
modele.disabled = false;
}
?
Merci -
le getElementByTagName est pour récupérer une balise html du genre :
document.getElementByTagName('INPUT');
Donc oui tu auras faux :p
Mais tu dois avoir un probleme j'ai testé chez moi :document.getElementById('input_superficie').disabled = true ;
Sur un de mes selects et ca marche niquel... -
Ouf sa y'est j'ai réussi.
J'ai donné un ID à mon 2eme select.
dans mon js, j'ai rajouté une autre variable
var marque = document.getElementById('marque');
var modele = document.getElementById('modele');
var mod = document.getElementById('mod');
et dans mon if j'ai pas utilise 'modele' mais 'mod' et sa marche nikel.
Je te remercie beaucoup de ton aide Defouille.