ユーザーが自分のアドレスを入力する Web ページがあります。カスケード ドロップダウン リストで国と地域を選択します。彼らの都市にオートコンプリート テキストボックスを提供したいと考えていますが、国と地域の選択に応じてコンテキストを考慮したいと考えています。別のカスケード ドロップダウン リストを使用したかったのですが、都市の数がリスト アイテムの最大数を超えています。
私を助けるかもしれない提案やクールなコードスピネットはありますか?
ユーザーが自分のアドレスを入力する Web ページがあります。カスケード ドロップダウン リストで国と地域を選択します。彼らの都市にオートコンプリート テキストボックスを提供したいと考えていますが、国と地域の選択に応じてコンテキストを考慮したいと考えています。別のカスケード ドロップダウン リストを使用したかったのですが、都市の数がリスト アイテムの最大数を超えています。
私を助けるかもしれない提案やクールなコードスピネットはありますか?
少なくともあなたが望むものに近い次のブログ投稿を見つけました。
次の JavaScript 関数を使用して管理します。
function initCascadingAutoComplete() {
var moviesAutoComplete = $find('autoCompleteBehavior1');
var actorsAutoComplete = $find('autoCompleteBehavior2');
actorsAutoComplete.set_contextKey(moviesAutoComplete.get_element().value);
moviesAutoComplete.add_itemSelected(cascade);
// setup initial state of second flyout
if (moviesAutoComplete.get_element().value) {
actorsAutoComplete.get_element().disabled = false;
} else {
actorsAutoComplete.get_element().disabled = true;
actorsAutoComplete.get_element().value = "";
}
}
function cascade(sender, ev) {
var actorsAutoComplete = $find('autoCompleteBehavior2');
actorsAutoComplete.set_contextKey(ev.get_text());
actorsAutoComplete.get_element().value = '';
if (actorsAutoComplete.get_element().disabled) {
actorsAutoComplete.get_element().disabled = false;
}
}
Sys.Application.add_load(initCascadingAutoComplete);
カスケード動作の親コントロールの add_itemSelected メソッドでカスケード関数を呼び出します。
カスケード ドロップダウン リストを使用するのではなく、1 つのオート コンプリート エクステンダーのコンテンツを別のオート コンプリート エクステンダーにカスケードしますが、いくつかのアイデアを再利用できることを願っています。