提问人:sarah 提问时间:2/21/2023 更新时间:2/21/2023 访问量:108
如何在 SQL 查询后更改输入字段的值
How to change value of an input field after SQL query
问:
我创建了一个输入字段,用户可以在其中键入他或她的城市名称,在输入至少 3 个字符后,将执行 SQL 查询并创建一个下拉列表,用户应该能够在其中选择显示的城市之一。 单击一个城市后,输入字段的值应更改为用户单击的城市。
这是我的html代码:
<input type="text" id="Stadt_suche">
<div id="dropdown-content">
</div>
这是数据库查询和填充输入的脚本:
$('#Stadt_suche').keyup(showCity);
$('p').on(click, enterCity);
function showCity() {
var str = SSI_GetValue('Stadt_suche'); // this function get the current value of the input-field
if (str.length <= 2) {
document.getElementById("dropdown-content").innerHTML = "";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("dropdown-content").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", getcity.php?q=" + str + "%", true);
xmlhttp.send();
}
}
function enterCity(){
var city = $(this).text();
$("#Stadt_suche").val(city);
以及 - 以防万一 - 数据库查询:
<?php
$mysqli = new mysqli("host", "user", "password", "database");
if($mysqli->connect_error) {
exit('Could not connect');
}
$sql = "SELECT DISTINCT `Ort` FROM `HaendlernetzGesamt` WHERE `Ort` Like ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s", $_GET['q']);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($ort);
if($stmt->num_rows > 0){
while ($stmt->fetch()){
echo "<p id='" . $ort . "'>". $ort ."</p>";
}
}
?>
脚本正确地回显了城市,并且函数 enterCity 工作正常,如果我不尝试定义变量(城市),而是将输入字段的值设置为字符串(如“value(”city“))。但是由于用户必须选择条目,因此我无法为此输入字段提供预定义值。
那么 - 你有什么输入我可以改变什么来获得我正在寻找的结果吗?
答: 暂无答案
评论
li
ul
SSI_GetValue('Stadt_suche'); // this function get the current value of the input-field
- 为什么这需要额外的功能? 应该能够直接让你得到它。$(this).val()