0

我是 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 总是从第一个下拉框中获取版本号...谁能帮我解决这个问题

4

2 回答 2

1

对于所有选项都有值的单个选择,您可以简单地使用选择元素的 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);
  }
}
于 2012-07-27T01:40:58.547 回答
0

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

应该做

于 2012-07-27T00:24:05.377 回答