我正在尝试编写页面来修改数据库条目。我想提取数据库并将第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"); ?>
答案 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