【发布时间】:2015-07-07 02:32:35
【问题描述】:
我有一个像这样的 html 搜索栏:
<form id="testblah" action="search_results.php" method="GET">
<input type="text" name="search" class="Search_bar_box" id="search">
</form>
然后我使用 Jquery 使用预定义的标签自动完成搜索条件的输入,如下所示:
<script>
$(function() {
$('form').each(function() {
$(this).find('input').keypress(function(e) {
// Enter pressed?
if(e.which == 10 || e.which == 13) {
this.form.submit();
}
});
});
});
$(function () {
var availableTags = [
"Telehandlers",
"Cranes",
"Fork Attachments",
"Aggreko",
"12 Tonne Telhandlers",
"Marwood",
"Crane Suppliers in Manchester",
"Total",
"Oil, Gas & Lubricants",
"Tomato Plant"
];
$("#search").autocomplete({
source: availableTags,
select: function (event, ui) {
window.location = 'search_results.php?search=' + ui.item.value;
}
});
$('#searchForm').on("submit", function (event) {
event.preventDefault();
alert($('#search').val());
});
});
</script>
这一切都很好,但是,我现在要做的是从预定义的文本中更改我的标签,以便从我的 MySQL 数据中提取我的标签。所以我试图运行一个 MySQL 查询来从我的表中获取所有数据,如下所示:
<?php $query12 = "SELECT * FROM supplier_users, supplier_stats GROUP BY supplier_users.user_id";
$result12 = mysql_query($query12);
while($row1 = mysql_fetch_assoc($result12)) {
$tags = $row1; } ?>
然后尝试将我的字符串放在 jquery 标记部分中,如下所示:
$(function () {
var data = "<?= $tags ?>";
var availableTags = [
data ];
但是这会阻止我的 jquery 工作。有人可以告诉我哪里出了问题以及我需要如何做到这一点。在此先感谢
【问题讨论】:
-
1.现在只显示 1 行 2. 你需要在 JavaScript 中回显 $tags 3. 你需要在标签内构建数组,因为你应该在 javascript 中创建它..
标签: php jquery mysql search autocomplete