【发布时间】:2020-10-15 14:07:38
【问题描述】:
希望所有人都做得很好。好吧,我遇到了一个问题,我希望在相同表单的 2 个输入字段中显示数据库中的城市名称,但每次我在两个输入字段上选择时,都会选择相同的值。
如果有人可以查看我的代码并帮助我解决这个问题,我们将不胜感激。
这是我的 search.php
require_once 'includes/config.php';
if (isset($_POST['query'])) {
$inpText = $_POST['query'];
$sql = 'SELECT * FROM pt_cities WHERE cityName LIKE :cityName';
$stmt = $db->prepare($sql);
$stmt->execute(['cityName' => '%'.$inpText.'%']);
$result = $stmt->fetchAll();
if ($result) {
foreach ($result as $row) {
echo '<a href="#" class="list-group-item list-group-item-action border-1">'.$row['cityName'].' ('.$row['code'].')</a>';
}
} else {
echo '<p class="list-group-item border-1">No Record</p>';
}
}
这是我的 js
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
// Send Search Text to the server
$(".search").keyup(function () {
let searchText = $(this).val();
if (searchText != "") {
$.ajax({
url: "search.php",
method: "post",
data: {
query: searchText,
},
success: function (response) {
$(".show-list").html(response);
},
});
} else {
$(".show-list").html("");
}
});
// Set searched text in input field on click of search button
$(document).on("click", "a", function () {
$(".search").val($(this).text());
$(".show-list").html("");
});
});
</script>
我的表单看起来像这样
<div class="col-sm-12">
<label class="form-label-outside">From</label>
<div class="form-wrap form-wrap-inline">
<input class="form-input search" name="from" type="text" >
<div class="list-group show-list">
</div>
</div>
</div>
<div class="col-sm-12">
<label class="form-label-outside">To</label>
<div class="form-wrap form-wrap-inline">
<input class="form-input search" name="to" type="text" >
<div class="list-group show-list">
</div>
</div>
</div>
提前感谢您的帮助
【问题讨论】:
标签: javascript jquery autocomplete