下拉变更事件

时间:2016-11-01 13:27:02

标签: javascript php jquery

我正在尝试编写页面来修改数据库条目。我想提取数据库并将第3列放入下拉列表中。当选择下拉列表中的项目时,我希望从数据库中选择所在的行中获取信息以填充表单。我有下拉填充和工作,但我的问题是,我做错了什么,或者你的建议是什么代码改变事件?我试图使用jQuery更改事件,但我仍在学习,显然我没有正确编码。我试着开始简单,只是让它回应所选择的项目,以确保我先改变正确,但显然我没有。

<?php
    include("header.html");
    include("connection.php");
    $query= "SELECT * FROM components";
    if($result = mysqli_query($link, $query)) {
        $item="<p><select name='part' id='inp'>";
        while ($row=mysqli_fetch_array($result)) {
            $item.="<option>".$row[2]."</option>";
        }
        $item.="</select></p>";
    }
?>
<html>
    <body>
        <script>
            $('select').on('change',function () {
                $sel=$(this).value;
            });
        </script>
        <div id="main">
            <div id="test"></div>
            <?php 
            echo $item;
            echo $sel;
            ?>
                <form method = "post">
                    <p><input name="itemnumber" id ="inp" type="text" placeholder="Item #"></p>
                    <p><input name="cost" id ="inp" type="text" placeholder="Price"></p>
                    <p><input name="company" id ="inp" type="text" placeholder="Company"></p>
                    <p><input name="contact" id ="inp" type="text" placeholder="Contact"></p>
                    <p><input name="address1" id ="inp" type="text" placeholder="Address"></p>
                    <p><input name="address2" id ="inp" type="text" placeholder="City / State / Zip"></p>
                    <p><input name="phone" id ="inp" type="text" placeholder="Phone Number"></p>
                    <p><select name="part" id="inp">
                        <option value="select" selected>Choose One</option>
                        <option value="base">Base Product</option>
                        <option value="coating">Coating</option>
                        <option value="topping">Topping</option>
                        <option value="film">Film</option>
                        <option value="corrugate">Corrugate</option>
                    </select></p>
                    <p><input type="submit" name="submit" id="submitbutton" value = "Submit"></p>
                </form>
        </div>
    </body>
</html>
<?php include("footer.html"); ?>

1 个答案:

答案 0 :(得分:2)

基本的是,在浏览器中真正加载页面后,你无法执行php。 因此,如果你想在页面加载后做任何事情,你要么必须使用在浏览器中执行的javascript,要么使用javascript向服务器发送请求并执行php脚本。

此处您的要求很简单,您需要在页面中显示下拉列表的选定值

<script>
$('select').on('change',function () {
    $('#selectedvalue').html($(this).val());
});
</script>


<?php
echo $item;
?>
<div id="selectedvalue"></div>

注意:我希望你在页面中包含jquery库js