1

フォームに jquery ui オートコンプリート ウィジェットがあり、その値をデータベースから事前に選択したいと考えています。私のオートコンプリートは次のように機能します: ID は数字で、ラベルと値は同じで、ID + " - " + 説明の連結です。オートコンプリートの値が選択されると、隠しフィールドの値が id の値に設定されます。次に、フォームが送信されると、隠しフィールドの値がデータベースに保存されます。ユーザーが編集のためにページに戻ってきたら、db から値をリロードする必要があります: idden フィールドの値を再度設定し、id + " - " の連結を使用してオートコンプリート ウィジェットの値をプリコンパイルしたいと思います。 + データベースから取得した説明。オートコンプリートで行を選択するイベントをトリガーする必要があると思いますが、方法がわかりません。あなたはなにか考えはありますか?ありがとうございます オートコンプリートのコードは次のとおりです。

$('#codice_contratto').autocomplete({
    source: 'do_contratto.php',
    select: function(event, ui) {
                $('#id_contratto').val(ui.item.id);
            }
});
4

1 に答える 1

0

編集用のページを返すサーバー側のコードでは、オートコンプリート付きのテキスト ボックスと隠しフィールドの両方の値を、サーバーから返される正しい値に設定することをお勧めします。これはサーバー側のソリューションであり、HTML は次のようになります。

<input type="textbox" id="condice_contratto" value="1 - the description" />
<input type="hidden" id="id_contratto" value="1" />

要素の値が事前に設定されている場合、JQuery オートコンプリート プラグインは正常に動作します。アイテム自体を「選択」するという概念は実際にはありません。テキストボックスの上に乗って、多くの派手な UI で値を設定するだけです。

クライアント側のソリューションが必要な場合は、次のようにします。

$(document).ready(function() {
   $('#condice_contratto').val(current_id + ' - ' + current_description);
   $('#id_contratto').val(current_id);
}

これは、変数 current_id と current_description が正しい値に設定されていることを前提としています。

于 2010-05-31T22:52:31.273 に答える