好的,这里的主要问题是我需要通过ajax比较来自数据库的值get。 textbox的值取决于其选项值来自数据库。
我看到了这个脚本,但我无法弄清楚如何将它与我的自动完成代码混合。来源是我最大的问题之一。
<script>
$(document).ready(function() {
$("#auto").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(src, request.term)
, el = this.element[0];
if (results.length) {
el.value = results[0];
el.setSelectionRange(request.term.length, el.value.length);
}
response(results);
},
change: function (event, ui) {
if (!ui.item) {
this.value = '';
}
}
});
});
</script>
如果当前值不在列表中,我想将文本框返回为空。
我的页面
<script>
function changeAutoComplete (val) {
$( "#tags" ).autocomplete({
source: 'autocomplete.php?selected='+val
});
}
</script>
</head>
<body>
Drop1
<?php
$mysqli = new mysqli("localhost", "root", "", "2015");
$combo = $mysqli->query("SELECT * FROM category GROUP BY cat_code ORDER BY id");
$option = '';
while($row = $combo->fetch_assoc())
{
$option .= '<option value = "'.$row['cat_code'].'">'.$row['category'].'</option>';
}
?>
<select id="main" name="main" onchange="changeAutoComplete(this.value)">
<option value="" selected="selected">Choose</option>
<?php echo $option; ?>
</select>
<div class="demo-frame">
<label for="tags">Tags: </label>
<input id="tags" name="items">
答案 0 :(得分:0)
您正试图从服务器获取它。那么你必须使用自动完成的远程示例。
为此你必须为你的源使用匿名函数函数(请求,响应)。
以下是链接
的自动完成远程示例 http://jqueryui.com/autocomplete/#multiple-remote
根据需要更新您的源属性
source: function( request, response ) {
$.getJSON( "search.php", {
term: extractLast( request.term )
}, response );
}