2008-11-25 4 views
0

У меня есть веб-страница, на которой пользователь вводит свой адрес. Они выберут свою страну и регион в каскадных выпадающих списках. Я хотел бы предоставить автообновление текстового поля для своего города, но я хочу быть контекстным для выбора страны и региона. Я бы просто использовал другой каскадный выпадающий список, однако число городов превышает максимальное количество элементов списка.Каскадирование автоматического завершения текстового поля

Любые предложения или крутые коды шпионов там, которые могут мне помочь?

ответ

0

Я только что нашел следующее сообщение blog, которое выглядит как минимум близко к тому, что вы хотите.

Они управляют с помощью следующих 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 родительского контроля за поведением каскадным.

Они каскадируют содержимое одного авто полного расширителя в другое, вместо того, чтобы брать каскадный выпадающий список, но, надеюсь, вы сможете повторно использовать некоторые идеи.

Смежные вопросы