2012-07-27 53 views
0

我是HTML和JavaScript的新手。正在玩弄它並面臨這個問題。我有一張桌子,這張桌子的每一行都有一個下拉框和一個按鈕。當我點擊按鈕,我嘗試從相應的下拉框中提取值..但我總是從第一個下拉框中得到的值不是我想要的。使用Javascript從多個Dropbox獲取值的問題

<tr> 
<td><?php $version=$row->getVersionNumbers() ?> 
<select id="drop1" name="version" class="temp"> 
<?php foreach($version as $ver): ?> 

     <option value="<?php echo $ver?>"><?php echo $ver?></option> 

<?php endforeach; ?> </td> 
</select> 
<td style="text-align:center;"> 

<a class="btn" href="<?php echo 
$view['router']->generate('ProjectMonstroTameBundle_view', array('versi'=>1)) ?>" 
onclick="viewSchema(this,pullVersion(document.getElementById('drop1')))">View Schema</a> 

</td>> 

</tr> 

<script> 
function pullVersion(dropdown) 
{ 
    return dropdown.options[dropdown.selectedIndex].value; 
} 
</script> 

爲的onclick pullVersion總是得到的版本號從第一個下拉框......誰能幫我一下,我應該怎麼解決這個問題

回答

1

對於所有選項都有值的單個選擇,您可以簡單地使用select元素的value屬性:

document.getElementById('drop1').value; 

當元素是多選,你需要遍歷的選項,並且得到了選擇的那些值:

var sel = document.getElementById('drop1'); 
var values = []; 

for (var i=0, iLen = sel.options.length; i<iLen; i++) { 

    if (sel.options[i].selected) { 
    values.push(sel.options[i].value); 
    } 
} 
0

document.getElementById("drop1").options[document.getElementById("drop1").selectedIndex].value 

應該做

+0

仍然有同樣的問題:( – Sush 2012-07-27 00:46:41

+0

等待,你生成若干組合框及其相應的按鈕?如果是這樣,那麼產生它們的代碼是什麼? – 2012-07-27 00:52:48

+0

第一個​​是我生成下拉框第二個的地方​​是按鈕 – Sush 2012-07-27 01:15:09