0

我试图微调自动完成文本框。我在这里的作品(虽然有点乱)。但是我想在单击文本框时显示可用的值,然后在您键入时进行过滤。另外,有没有更简单的编码方法?

<?php
session_start();
if(isset($_SESSION['myusername'])) {
$User =  $_SESSION['myusername'];}

$db1 = realpath('C:\AccessBackEnds\CETracker\CETracker.accdb');
$conn1 = odbc_connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$db1",'','') or die ("Unable to connect to server");

?>
<link rel="stylesheet" href="../datepicker/jquery-ui2.css" />
<script src="../datepicker/jquery-1.9.1.js"></script>
<script src="../datepicker/jquery-ui.js"></script>
<script>
$(function() {
var availableTasks = [
<?php
$info0 = "SELECT DISTINCT TaskName FROM CT:MyTasks WHERE UserName = '$User'";
$rs0=odbc_exec($conn1,$info0);
while($row = odbc_fetch_array($rs0)) {
$TaskName = "" . $row['TaskName'] . "";
echo '"';
echo $TaskName;
echo '", ';
}
?>""];
$( "#Tasks" ).autocomplete({
source: availableTasks
});
});
</script>

<div class="ui-widget">
<label for="Tasks">Tasks: </label>
<input name="tasks" id="Tasks" style="width: 400px">
</div>
4

1 回答 1

0

我认为如果将脚本拆分为两个文件,可以提高脚本的可读性:

  • 一个前端文件,包含 HTML 和 JS 代码
  • 一个后端文件,其中包含生成 JSON 代码的 PHP 代码。

前端文件可以通过json调用调用后端文件,考虑到jQuery UI的“自动完成”小部件内置了这个功能。在“远程 JSONP 源”中查看此处。PHP 也可以通过json_encode函数轻松生成 JSON 数据。

于 2013-10-01T19:05:27.597 回答