2008-12-19 8 views
4

J'utilise une liste déroulante pour remplir une zone de texte. Mais si la valeur préférée n'est pas présente dans la liste déroulante, l'utilisateur saisit directement la valeur dans cette zone de texte. Si l'utilisateur sélectionne d'abord une valeur dans la liste déroulante, puis qu'il ne veut pas cette valeur et qu'il tape un autre texte dans cette zone de texte, la liste déroulante doit alors être définie sur 0 lorsque l'utilisateur saisit une autre valeur.Comment faire pour définir l'index sélectionné de la liste déroulante à 0 lorsque le texte de la zone de texte est modifié?

J'ai utilisé l'événement textchanged de textbox mais cela ne fonctionne pas. Quelqu'un peut-il me dire comment écrire javascript pour cela? Merci d'avance.

+0

Réglage de l'index 0 serait signifie en fait la sélection du 1er élément droit? – faulty

+0

oui. J'ai gardé le 1er item comme "-Sélection-" –

Répondre

10

Cela devrait fonctionner pour vous:

function ResetDropDown(id) { 
    document.getElementById(id).selectedIndex = 0; 
} 
function ResetTextBox(id) { 
    document.getElementById(id).value = ''; 
} 
<select id="MyDropDown" onchange="ResetTextBox('MyTextBox');"> 
    <option value="0">0</option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
</select> 
<input id="MyTextBox" type="text" onkeypress="ResetDropDown('MyDropDown');"/> 
+0

N'est-il pas possible avec ? –

Questions connexes