使用Javascript从多个Dropbox获取值时遇到问题

时间:2012-07-27 00:17:30

标签: javascript html symfony

我是HTML和javascript的新手。正在玩它并面对这个问题。我有一张桌子,这张桌子的每一行都有一个下拉框和一个按钮。当我点击按钮时,我尝试从相应的下拉框中提取值。但是我总是从第一个下拉框中获取值,这不是我想要的。

<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总是从第一个下拉框中获取版本号...任何人都可以帮我解决这个问题

2 个答案:

答案 0 :(得分: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);
  }
}

答案 1 :(得分:0)

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

应该