【问题标题】:Display a selected option from a drop down list into a box using javascript使用javascript将下拉列表中的选定选项显示到框中
【发布时间】:2014-04-01 01:54:57
【问题描述】:

嘿,我在表单中有一个有效的下拉列表(使用 javascript),并希望将所选选项 (cat) 的输出显示到一个框中作为 id。

cat 和 id 都在同一个表(内核)中。

有人可以帮我吗?

<form action="dropdown.php" method="POST">
  <?php
    $sth = $dbhandle->prepare("SELECT cat FROM kernel");
    $sth->execute();
    $results = $sth->fetchAll(PDO::FETCH_ASSOC);
    echo "<select name='cat'>";
    foreach($results as $row) {
      echo "<option value='" . $row['cat'] . "'>" . $row['cat'] . "</option>";
    }    
    echo "</select>";
  ?>
</form>

【问题讨论】:

  • 您是在使用 jQuery(查看 change 事件)还是需要 vanilla javascript(查看 onChange 事件)?
  • 我需要香草 javascript
  • 我在他的个人资料中找不到我想要的选项

标签: javascript php html database


【解决方案1】:

你需要挂钩select框的onChange事件

HTML:

<form action="dropdown.php" method="POST">
  <select name='cat' id="cat_select" onChange="outputValue(this)">
    <option value='cat1'>cat1</option>
    <option value='cat2'>cat2</option>
    <option value='cat3'>cat3</option>
    <option value='cat4'>cat4</option>
  </select>
</form>
<div id="output"></div>

JS:

function outputValue(item){
    document.getElementById('output').innerHTML = item.value;
}

http://jsfiddle.net/X663R/

编辑:下面是 php 包含的代码

<form action="dropdown.php" method="POST">
  <?php
    $sth = $dbhandle->prepare("SELECT cat FROM kernel");
    $sth->execute();
    $results = $sth->fetchAll(PDO::FETCH_ASSOC);
    echo "<select name='cat' id='cat_select' onChange='outputValue(this)'>";
    foreach($results as $row) {
      echo "<option value='" . $row['cat'] . "'>" . $row['cat'] . "</option>";
    }    
    echo "</select>";
    echo "<input type='text' id='output' name='output' />";
  ?>
</form>
<script>
function outputValue(item){
    document.getElementById('output').value = item.value;
}
</script>

【讨论】:

  • 这是我在 onchage 事件中使用的 "echo "
  • 还有没有办法将它显示到文本框中?请
  • 您的意思是像input 框?您需要将 javascript 添加到页面并在其中添加 output 元素
  • 这里是一个更新的 jsfiddle,使用 input 类型的 text jsfiddle.net/X663R/1
  • 很抱歉让您感到痛苦,但请您使用我正在使用的代码来做这件事,因为我无法让它与我的一起工作。什么也没发生 :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-29
  • 2016-05-10
  • 1970-01-01
  • 2019-09-13
  • 1970-01-01
相关资源
最近更新 更多