2011-01-12 7 views
0

Ich habe zwei mögliche Dropdown-Liste, mit denen ich arbeite. Die erste sieht aus wie:Javascript selectIndex richtiger Wert

<select id="drop1" name="drop1"> 
    <option value="">Select</option> 
    <option value="1">January</option> 
    <option value="2">February</option> 
    ... 
</select> 
<input type="text" value="1" onclick="set(this.value);" /> 

und die zweite sieht aus wie

<select id="drop2" name="drop2"> 
    <option value="1">January</option> 
    <option value="2">February</option> 
    ... 
</select> 
<input type="text" value="1" onclick="set(this.value);" /> 

Wie kann ich sicherstellen, dass, wenn der in set(this.value) gewählten Wert = 1 (Januar) zum Beispiel, werde ich am Ende bis Januar und nicht die Auswahl - weder Februar über die Optionen Ihres <select> iterieren, bis Sie

+0

Hallo Jeffrey, Willkommen in SO. Kannst du etwas aufwendiger sein? – naveen

Antwort

0

Your'll benötigen ein value finden, deren 1:

function selectOptionWithValue(select, value) { 
    value = "" + value; 
    var options = select.options; 
    for (var i = 0, len = options.length; i < len; ++i) { 
     if (options[i].value == value) { 
      select.selectedIndex = i; 
      return; 
     } 
    } 
} 

<input type="text" value="1" 
    onclick="selectOptionWithValue(document.getElementById('drop1'), this.value);">