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

すべてのオプションに値がある単一の選択の場合、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);
  }
}
于 2012-07-27T01:40:58.547 に答える
0

これ

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

すべき

于 2012-07-27T00:24:05.377 に答える