2010-12-20 4 views
0

Ich habe eine Auswahlliste Variablen aus einer AbfrageWie ändert man ein Feld basierend auf der Benutzerauswahl in einer HTML-Auswahl?

<tr> 
    <td>County Name:</td> 
    <td> 
     <select name="countyName" onchange="countyID.value = countyName.value"> 
       <option>Select a County</option> 
     <cfloop query = "getCounties"> 
     <option value="#countyName#" >#countyName#&nbsp;&nbsp;&nbsp;#countyID#</option> 
     </cfloop> 
    </select> 
    </td> 
</tr> 

Wie kann ich die Landkreis-ID-Feld enthält, bevölkern?

<tr> 
    <td>County ID:</td> 
    <td><input type="Text" name="countyID"> 
    </td> 
</tr> 

Ich habe noch nie jQuery verwendet. Gibt es eine Möglichkeit, nur JavaScript zu verwenden? Wie Sie sehen können, habe ich versucht, JavaScript, aber ich kann nur füllen countyID mit der countyName und ich brauche es mit countyID bestückt.

+0

Bitte einrücken Code von 4 Leerzeichen (beispielsweise durch die Auswahl und drücken Sie den Code '{}' Taste); Verwenden Sie Backticks nicht wie Sie es taten. BTW, wie setzt man 'countyID' und' countyName'? –

+0

Danke - wie Sie sehen können - ich bin auch ziemlich neu in StackOverflow zu schreiben! – skeddy

Antwort

3

brechen sie in eine Funktion aus, dies für Sie arbeiten sollten: Live Example

<table> 
    <tbody> 
     <tr> <td>County ID:</td> <td><input id="countyId" type="Text" name="countyID"> </td> </tr> 
     <tr> <td>County Name:</td> 

      <td> 
       <select name="countyName" onchange="update(this)"> 
        <option>Select a County</option> 
        <option value="1234">asdf</option> 
        <option value="4321">asdf2</option> 
       </select> 
      </td> 
     </tr> 
    </tbody> 
</table> 
<script> 
    function update(elem) { 
    document.getElementById('countyID').value = elem.value; 
    } 
</script> 

Oder kurz ändern, nur

dieses:

<select name="countyName" onchange="countyID.value = countyName.value"> 

dazu und es sollte funktionieren

<select name="countyName" onchange="document.getElementById('countyId').value = this.value"> 

Sie benötigen eine DOM-Elemente über document.getElementById() und nicht nur ihre id allein

Another example here

+0

Das OP tut im Wesentlichen genau das, aber er muss die 'countyId' für den Optionswert verwenden, im Gegensatz zum' countyName' – Dutchie432

+0

sowie den Zugriff über 'document.getElementById()' – subhaze

+0

Korrigieren Sie sind – Dutchie432

5

Nur aus Neugier verweisen, warum verwenden Sie #countyName# als die Werte für die Optionen? Was ist, wenn der Landkreis (fälschlicherweise oder nicht) ein Zitat oder etwas anderes hat, das mit Ihrem HTML-Code verschraubt ist?

Warum würden Sie nicht tun:

<select name="countyName" onchange="countyID.value = this.value"> 
    <option value="#countyID#">#countyName#</option> 
</select> 
Verwandte Themen