Php 基于期权价值的自动完成
我已经从jquery.com自动完成了。而不是在自动完成中显示变量。我想显示数据库记录的自动完成。我只想根据下拉选项值在自动完成记录中显示。如何做到这一点?请帮帮我。我被困在这里了 这就是我现在所拥有的。但是,如果比较值来自期权值,该如何做呢Php 基于期权价值的自动完成,php,jquery,mysql,Php,Jquery,Mysql,我已经从jquery.com自动完成了。而不是在自动完成中显示变量。我想显示数据库记录的自动完成。我只想根据下拉选项值在自动完成记录中显示。如何做到这一点?请帮帮我。我被困在这里了 这就是我现在所拥有的。但是,如果比较值来自期权值,该如何做呢 $(document).ready(function(){ $("#tag").autocomplete("autocomplete.php", { selectFirst: true }); }); 这是我的autocompl
$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
selectFirst: true
});
});
这是我的autocomplete.php
<?php
$mysqli = new mysqli("localhost", "root", "", "2015") or die("Database Error");
$auto = $mysqli->real_escape_string($_GET["q"]);
$sql = $mysqli->query("SELECT * FROM code WHERE item LIKE '%$auto%' GROUP BY id ORDER BY item" );
if($sql)
{
while($row=mysqli_fetch_array($sql))
{
echo $row['item']."\n";
}
}
?>
HTML应该是
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
$( "#tags" ).autocomplete({
source: 'yourPHPFile.php?'
});
});
function changeAutoComplete (val) {
$( "#tags" ).autocomplete({
source: 'yourPHPFile.php?selected='+val
});
}
</script>
</head>
<body>
<select id="main" name="main" onchange="changeAutoCompete(this.value)">
<option value="" selected="selected">Choose</option>
<?php echo $option; ?>
</select>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
</body>
</html>
jQuery UI自动完成-默认功能
$(函数(){
$(“#标记”).autocomplete({
来源:“yourPHPFile.php?”
});
});
函数更改自动完成(val){
$(“#标记”).autocomplete({
source:'yourPHPFile.php?selected='+val
});
}
选择
标签:
PHP应该是这样的
<?php
$mysqli = new mysqli("localhost", "root", "", "2015") or die("Database Error");
$auto = $mysqli->real_escape_string($_GET["term"]);
$selected = $mysqli->real_escape_string($_GET["selected"]);
$sql = $mysqli->query("SELECT * FROM code WHERE item LIKE '%$auto%' AND selected='$selected' GROUP BY id ORDER BY item" );
if($sql)
{
$str = array();
while($row=mysqli_fetch_array($sql))
{
$str[] = $row['item'];
}
echo json_encode($str);
}
?>
使用基本的HTML很容易做到这一点
<input list="languages">
<datalist id="languages">
<option value="Dutch">
<option value="English">
<option value="German">
<option value="Chinese">
<option value="Swedish">
</datalist>
。您必须为插件创建JSON响应,才能正确理解值。阅读最后一个链接的更多信息,了解如何格式化数据。你可能需要使用json\u encode
@Newbi3你能帮我更多吗?我求求你,你是在用“\n”重复php中的值。我相信autocomplete期望从php返回一个JSON对象。@SajithNair这对我来说是个大问题:(我不知道如何开始制作JSONI)我已经将php更改添加到我的回答中了。我在autocomplete.php中的查询如何?您将得到$u请求['selected']使用从选项列表中选择的值。您必须基于该值编写查询。@SajithNair仍不工作。如果$q正在工作,则该查询来自不同的自动完成jquery@SajithNair :(仍然没有。HUHU您可以使用javascript控制台并告诉我,当您执行自动完成请求时,请求将发送到服务器吗?我可以根据选项值获取所有记录?您想添加它,以便它使用PHP创建具有所需值和名称的选项。然后,如果为某个部件编写了选项值,它将自动完成。
<input list="languages">
<datalist id="languages">
<option value="Dutch">
<option value="English">
<option value="German">
<option value="Chinese">
<option value="Swedish">
</datalist>