質問

jQuery UI Autocomplete Widgetがフォームにあり、データベースからその値を事前に選択したいと思います。私のオートコンプリートは次のように機能します。IDは数字、ラベル、値は同じであり、ID + " - " +説明の連結です。 AutoCompleteからの値が選択されると、非表示のフィールドの値がIDの値に設定されます。次に、フォームが送信されると、非表示のフィールド値がDBに保存されます。ユーザーが編集のためにページに戻ったら、DBから値をリロードする必要があります。IDDENフィールド値をもう一度設定してから、ID + " - "の連結とともにオートコンプリートウィジェットの値を事前にプレシャルしたいと思います。 + DBの形式で撮影された説明。オートコンプリートで行を選択するイベントをトリガーする必要があると思いますが、方法がわかりません。あなたはなにか考えはありますか?ここにAutoCompleteのコードがあります:

$('#codice_contratto').autocomplete({
    source: 'do_contratto.php',
    select: function(event, ui) {
                $('#id_contratto').val(ui.item.id);
            }
});
役に立ちましたか?

解決

編集用にページを返すサーバー側のコードでは、サーバーから返されたときに、AutoCompleteを使用してテキストボックスの値を正しい値に設定することをお勧めします。それはサーバー側のソリューションであり、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が正しい値に設定されていることを想定しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top