jQuery UI Autocompleteプラグインを使用して、リモートデータソースからの姓に基づいてシステム内のユーザーの一覧を表示する検索ボックスがアプリケーションにあります。jQuery UIを使用して表示値とid値を区別する方法リモートデータソースを使用したオートコンプリートプラグイン?
ユーザーがオートコンプリートリストからクリックされると、ブラウザはそのユーザーの個々のページにリダイレクトされます(GETパラメータに基づいて)。ただし、ユーザーページのGETパラメーターは、表示値 "last_name、first_name"とは異なるユーザー "id"です。
ユーザーの「id」をGETパラメータにプッシュするにはどうすればいいですか?最初と最後の値はまだドロップダウンに表示されていますか?
リモートデータソースを使用しているときは、ここで質問されたのと同様の質問がありましたが、何もありませんでした。
あなたが提供できるヘルプは素晴らしいでしょう!
Javascriptを:
$(document).ready(function() {
$(".user_autocomplete").autocomplete({
source: "../../db/users.php",
minLength: 0,
focus: function (event, ui) {
this.value = ui.item.value;
},
}).bind("autocompleteselect", function(event, ui) {
window.location.href = "https://stackoverflow.com/users/index.php?id=" + this.value;
});
});
リモートデータソース(users.php)
<?php
$return_arr = array();
if(isset($_GET['term'])) {
$mysearchString = $_GET['term'];
}
$sth = $dbh->query("SELECT id, first_name, last_name FROM users
WHERE last_name LIKE '$mysearchString%'
ORDER BY last_name");
while ($row = $sth->fetch()) {
$row_array = $row['last_name'].', '.$row['first_name'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
?>
見たことある?プラグインはすべてを同じインターフェースに正規化しているので、データソースは重要ではありません。 – blockhead
2つの問題。私は表示値とid値の両方を含むようにリモートデータソースの配列をどのようにフォーマットするのかよくわかりません。また、これらの値を両方ともプラグインに渡す方法がわかりません。 – Michael