0

我有一个网页,用户将在其中输入他们的地址。他们将在级联下拉列表中选择他们的国家和地区。我想为他们的城市提供一个自动完成的文本框,但我想对国家和地区的选择保持上下文敏感。我会使用另一个级联下拉列表,但是城市的数量超过了列表项的最大数量。

有什么建议或很酷的代码可以帮助我吗?

4

1 回答 1

0

我刚刚发现以下博客文章看起来至少接近你想要的。

他们使用以下 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 方法上调用级联函数以实现级联行为。

他们将一个自动完成扩展器的内容级联到另一个,而不是采用级联下拉列表,但希望您可以重用其中的一些想法。

于 2008-11-25T23:34:14.037 回答