我正在做的项目中我必须使用2个下拉列表。
在第一个下拉列表中,我选择了注册客户。选择客户名称后,其他客户信息将从数据库中提取并填入相关文本框中。
在第二个下拉列表中,我正在选择项目名称,就像在第一个下拉列表中一样。 但是在选择第二个下拉值后,客户的详细信息就会刷新。
我也希望保留客户和商品信息。
答案 0 :(得分:1)
您可以使用ajax发布从数据库中获取数据,而不是重新加载页面。在更改第一个下拉列表时,使用jquery ajax从数据库中获取数据并在第二个下拉列表中填充它。
这样您就可以在没有页面刷新的情况下选择两个下拉列表中的值。
答案 1 :(得分:0)
好的,这是你可以做的一个样本:
<!--myhtml.html (HTML File) put this file into your root folder-->
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="js/myjs.js" type="text/javascript"></script>
</head>
<body>
<select id="myDropDown">
<option id="1" value="Item 1">Item 1</option>
<option id="2" value="Item 2">Item 2</option>
<option id="3" value="Item 3">Item 3</option>
</select>
<div id="myResultSet">
<table>
<tbody>
<tr>
<td id="id"></td>
<td id="column1"></td>
<td id="column2"></td>
<td id="column3"></td>
<td id="column4"></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
<!--myjs.js (jQuery Script) put this file into your "js" folder-->
$("#myDropDown").change(function() {
var queryID = $(this).children("option:selected").attr("id");
var request = $.ajax({
url: "php/myphp.php",
type: "POST",
data: {id:queryID},
dataType: "html"
});
request.done(function(msg) {
var columns = eval("("+msg+")");
$("td#id").html(column.id);
//You can replace column1, column2, column3, column4 with the names of the columns on your database...
$("td#column1").html(columns.column1);
$("td#column2").html(columns.column2);
$("td#column3").html(columns.column3);
$("td#column4").html(columns.column4);
});
});
<!--myphp.php (PHP Script) put this file into your "php" folder-->
<?php
$id = $_POST['id'];
$sql = "SELECT * FROM mytable WHERE id = $id";
if($result = mysqli_query($sql)) {
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$json_row = json_encode($row);
echo $json_row;
}
?>