Problème de liste déroulante et js...
Salut, j'aimerais créer une liste déroulante en js... Pour l'instant, ça fonctionne mais c'est pas "propre"... Quelqu'un sait-il m'aider???
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <script>
function getUnitPerDirectorate(id){
<cfoutput>
var inputHtml = "<select name='unit'>";
<cfloop query="getUnit">
if(id.value == 0) {
var dir = id.value;
}else{
var dir = #UNIT_N_UNIT_ID#;
}
if(id.value == dir){
inputHtml = inputHtml + "<option value=#N_UNIT_ID#>#S_NAME#";
}
</cfloop>
inputHtml = inputHtml + "<option value=0 selected>All";
inputHtml = inputHtml + "</select>";
document.getElementById("test").innerHTML = inputHtml;
</cfoutput>
}
</script> |
Et dans l'html :
Code:
1 2 3 4 5 6 7
| <div id="test">
<select name="unit">
<cfloop query="getUnit">
<option value="#N_UNIT_ID#">#S_NAME#
</cfloop>
<option value = "0" selected>All
</select></div> |
Ce qui me gêne, c'est l'emploi de la balise div... Serait-il possible de s'en passer??? D'envoyer directement les valeurs dans le champ adéquat sans passer par le div??? Mon menu se trouve dans un formulaire...
Re: Problème de liste déroulante et js...
au pif
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<script>
function getUnitPerDirectorate(id){
<cfoutput>
listeSlt=document.getElementById("unit")
listeSlt.options.length=0;
<cfloop query="getUnit">
if(id.value == "0" || id.value=="#UNIT_N_UNIT_ID#" )
{
op= new Option(#N_UNIT_ID#,"#S_NAME#");
listeSlt.options[listeSlt.options.length]=op;
}
</cfloop>
op= new Option("0","All");
listeSlt.options[listeSlt.options.length]=op;
</cfoutput>
}
</script> |
Et dans l'html :
Code:
1 2 3 4 5 6 7
|
<select name="unit" id="unit">
<cfloop query="getUnit">
<option value="#N_UNIT_ID#">#S_NAME#
</cfloop>
<option value = "0" selected>All
</select> |