7

必要だったのでjQuery UI Autocompleteを探していました<input />が、問題は完了した名前のIDを渡す必要があることです。説明させてください:

私は名前の配列を持っています:

$names = array(
    array('name' => 'John', id => '1'),
    array('name' => 'Sarah', id => '2'),
    array('name' => 'Josh', id => '3)
);

そして、AJAX を使用すると、入力は配列の 1 つの名前でオートコンプリートされますが、送信時には名前ではなく ID が必要です。どうすれば管理できますか?

前もって感謝します

4

2 に答える 2

14

JQuery UI Autocompleteコントロールは、検索結果のリストを表示/値オブジェクトのセットとして受け入れることができます。

メモリから、次の形式で Json オブジェクトを作成します...

[
    {label:"Display Name for result 1", value:1},
    {label:"Display Name for result 2", value:2},
    {label:"Display Name for result 3", value:3}
]

label プロパティには表示するテキストが含まれ、値 proberty には ID が含まれます。これらの値は、ユーザーが検索結果を選択したときに調べることができます。コントロールには、selectリッスンできるイベントがあります。

于 2010-12-06T11:47:10.630 に答える
8

ID を隠しフィールドに保存する必要があります。

「選択」イベントでそれを達成できます。http://jqueryui.com/demos/autocomplete/#event-select

この例は、選択イベントhttp://jqueryui.com/demos/autocomplete/#custom-dataを示しています

したがって、アイデアは次のようなことをすることです:

        select: function( event, ui ) {
            $( "#project-id" ).val( ui.item.value );
            return false;
        }
于 2010-12-06T11:48:30.063 に答える