我创建了一个下拉列表,该列表由我的mysql数据库填充,并使用php编程。我需要做的是根据下拉列表中的选择填充文本字段。不幸的是,我的问题与此论坛上提到的其他问题不同,因为大多数人只是将所有选项输入到html表单中。我的包含在一个表中,我不想将文本字段中的内容保存到我的数据库中...它将仅供用户参考。
我在这个网站和其他许多网站上阅读了大量的论坛帖子,并尝试过使用jquery,javascript和ajax脚本,但出于某种原因,我唯一能成功地出现在文本字段中是从下拉列表中选择的相应项的ID。我认为重要的是要知道这两个字段都来自db中的同一个表,所以我无法弄清楚为什么自动填充字段这么困难。我想使用javascript,因为我想要这一个文件中的所有内容。
这是php表单中的代码:
<?php
'<div id="trxdetailstable">';
echo '<table align="center" width="750px" cellspacing="0" border=".5px" ! important><tr>
<th>Movie Title</th><th>Category</th><th>Price</th></tr>';
echo '<td align="left" width="8%" height="25px">';
$ddlquery4 = "SELECT id, title, categoryname FROM dvd ORDER BY title ASC";
$ddlresult4 = mysqli_query($dbc, $ddlquery4) or die("Bad SQL: $ddlquery4");
echo '<select class="dropdown" name="dvdid" id="dvdid" size="1" onchange="updatecat()">';
while($ddlrow4=mysqli_fetch_array($ddlresult4, MYSQLI_ASSOC)){
$categoryname = $ddlrow4['categoryname'];
echo "<option data-categoryname='' value='".$ddlrow4['id']."'>" . $ddlrow4['title'] . "</option>";
} //End while statement
echo "</select>";
echo '</a></td>';
echo '<td align="left" width="10%">';
echo '<input required id="categoryname" name="categoryname" type="text" readonly="readonly">';
echo '</a></td>';
这是我目前在html头中的代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
这是当前未生成结果的代码(选择下拉项后文本字段留空):
$('#dvdid').change(function(e){
var optionChange = $('#dvdid option:selected').text();
$('#categoryname').val(optionChange);
});
</script>
这是实际给我下拉列表中所选项目的主键(id)的代码(我希望它是类别名称):
<script>
function updatecat(id){
if (id === "") {
$("input[name=categoryname]").val("");
} else {
$("input[name=categoryname]").val(id);
}
}
</script>
我已经尝试了大约3个其他脚本,但它们都将文本(类别)字段留空了。
任何建议都将不胜感激。请记住,我的所有数据都是从未手动输入的数据库生成的。感谢。