首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >和UpdatePanel

和UpdatePanel
EN

Stack Overflow用户
提问于 2012-07-13 15:59:10
回答 1查看 4.4K关注 0票数 0

在一个WebUserControl中,我有一个输入元素,我希望它使用Jquery显示一个值列表。一点用都没有。

这是用于填充列表的脚本:

代码语言:javascript
复制
$(document).ready(function() {    
    var availableTags = [
            "ActionScript",
            "AppleScript",
            "Other one"
            ];
    $("#listaCecos").autocomplete({
        source: availableTags
    });
});

我建立了一个断点,发现:

  • 当.autocomplete行被执行时,$("#listaCecos")似乎没有初始化。在控制台中,它显示以下内容:[]
  • 页面完全加载后,$("#listaCecos")正确地显示元素[<input id=​"listaCecos" name=​"listaCecos">​]
  • 一旦加载了页面,我就可以在控制台上执行.automcomplete代码(上面的代码块),输入开始正常工作。

因此,我认为它不能工作,因为当执行.autocomplete脚本时,输入元素没有正确加载(它在一个webusrcontrol中,在初始页面加载时是不可见的)。

请帮助我确定我应该把自动完成设置脚本的地点和时间,以便输入得到正确的填充。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-13 16:47:53

我设法解决了。输入在一个UpdatePanel中,它替换它的内容,这样自动完成配置就丢失了。

解决方案是重新配置每个end_Request上的自动完成功能:

代码语言:javascript
复制
$(document).ready(function() {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

    function EndRequestHandler(sender, args) {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "ceshar"
            ];
        $(".listaCecos").autocomplete({
            source: availableTags
        });
    } 
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11474068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档