Jörn Zaefferer のオートコンプリート プラグイン 1.2.2 を使用しています。Jquery UI に含まれている新しいバージョンのプラグインを使用できません。検索でジョブ名またはジョブ ID の両方を送信するサーバー上のスクリプトにリンクしています。
return_arr = array();
/* If connection to database, run sql statement. */
if ($connect)
{
$fetch = mysql_query("SELECT * FROM jobs WHERE job_name LIKE '%". mysql_real_escape_string($_GET['q']) ."%' OR insert_id LIKE '%". mysql_real_escape_string($_GET['q']) ."%' ORDER BY job_name ASC");
/* Retrieve and store in array the results of the query.*/
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$key = $row['job_name']."-".$row['insert_id'];
array_push($return_arr,$key);
}
}
/*Sort Array*/
foreach ($return_arr as $value) {
echo "$value\n";
}
私はjavascriptで次の設定を使用しています:
$("#job_select").autocomplete('../lib/job_select2.php', {
minChars: 0,
autoFill: true,
mustMatch: true,
matchContains: false,
scrollHeight: 220
});
フィールドにジョブ名を入力すると、検索文字列によって作成されたジョブのリストが表示されます。タブでフィールドの外に出ても、入力は残ります。
ただし、jobid を入力すると、ジョブのリストが表示されますが、タブでフィールドの外に出ると、エントリが消えます。mustMatch が true であることはわかっていますが、それを true に設定する必要があります。データベースにまだない入力を受け入れたくありません。
どんな助けでも大歓迎です。
ありがとう