从下拉框中获取选定的值,然后使用填充文本框

时间:2014-07-28 09:57:58

标签: javascript php html

我有一个Web表单,其中包含一个下拉框,该框由一个带有php的MySQL服务器请求和一个文本框填充。文本框中的值当前传递到另一个页面进行处理。这一切都运行正常,但由于有大量提交的相同值被传递,我决定在表单中实现下拉框,以允许用户从之前提交的选项中进行选择。 / p>

我想要的是当用户点击下拉框中的值时,该值用于填充webform中的文本框。我把这个价值拉出来有困难。我假设它需要实现onClick / onSelect侦听器,但我不完全确定如何执行此操作。任何帮助将不胜感激!

编辑代码,目前我只是试图将值作为概念证明回显到页面,但最终需要进入文本框。 < / p>

 <script type="text/javascript">
function moveToTextBox()
    echo $("#dropDownBox option:selected").text(); 
</script>

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

        Enter Asset Type<br/>
        <select name="currentItems" onUpdate="moveToTextBox()" id="dropDownBox">
        <?php  
            $pdo = Database::connect();
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $sql = "SELECT item FROM all_Items";
            $result=$pdo->query($sql);
            $array=null;
            while($row=$result->fetch(PDO::FETCH_ASSOC))
            {
                echo "<option value=\"item1\">" . $row['item'] . "</option>";
            }
            Database::disconnect(); 
        ?>
        </select><br/>
        <input type="text" name="newItem" id="textId"><span class="error"> <?php echo $newItemError;?></span>
    <br/>
    <input type="submit" name="submit" value="Submit"> 
</form>

2 个答案:

答案 0 :(得分:0)

在javascript中没有echo这样的东西。

如果您只想查看#dropDownBox选项:selected包含的值 使用console.log()并检查控制台(f12而不是控制台选项卡)或使用alert()

现在填充textboxdiv我想你只想把它放在这样的东西:

<script type="text/javascript">
   function moveToTextBox(){
     content = $("#dropDownBox option:selected").text();
     $('#randomTextPopulateDivYouNeedToMakeSomewhere').html(content);
   }
</script>

另外如果你使用jquery我认为你应该代替onUpdate这样做:

   $("#dropDownBox").change( function() {
     content = $("#dropDownBox option:selected").text();
     $('#randomTextPopulateDivYouNeedToMakeSomewhere').html(content);
   });

答案 1 :(得分:0)

查看javascript&#39; change事件:change

这里是小提琴:http://jsfiddle.net/michasko/k4hYE/

select.onchange = function() {
    input.value = this.value;
};