代码之家  ›  专栏  ›  技术社区  ›  Anirudh Goel

YUI自动完成示例问题

  •  0
  • Anirudh Goel  · 技术社区  · 16 年前

    我在寻找yui autocomplete的实现,我在网站上看到了这个脚本 asklaila.com -

    <script type="text/JavaScript">
        YAHOO.example.ACJson = new function() {
            this.oACDS = new YAHOO.widget.DS_XHR("/AutoComplete.do", 
                ["Suggestions[0].Results","Name"]);
    
            this.oACDS.queryMatchContains = true;
            this.oACDS.scriptQueryAppend = "city=Mysore"; // Needed for YWS
            function fnCallback(e, args) {
                document.searchForm.where.focus();
                acSelected = true;
                return false;
            }
    
            this.oAutoComp = new YAHOO.widget.AutoComplete('what','whatContainer', this.oACDS);
            this.oAutoComp.itemSelectEvent.subscribe(fnCallback);
            this.oAutoComp.formatResult = function (oResultItem,sQuery) {
                return oResultItem[0];
            }
    
            this.oAutoComp.queryDelay = 0;
            this.oAutoComp.useIFrame = true; 
            this.oAutoComp.prehighlightClassName = "yui-ac-prehighlight";
            this.oAutoComp.minQueryLength = 2;
            this.oAutoComp.autoHighlight = false;
            this.oAutoComp.textboxFocusEvent.subscribe(function() {
                this.oAutoComp.sendQuery("");
            });
    
            this.oAutoComp.doBeforeExpandContainer = function(oTextbox, oContainer, sQuery, aResults) {
                var pos = YAHOO.util.Dom.getXY(oTextbox);
                pos[1] += YAHOO.util.Dom.get(oTextbox).offsetHeight + 2;
                YAHOO.util.Dom.setXY(oContainer,pos);
                return true;
            };
        }
    </script>
    

    这意味着yui自动完成下拉列表。我想了解的是

    this.oACDS = new YAHOO.widget.DS_XHR("/AutoComplete.do", ["Suggestions[0].Results","Name"]);
    

    对代码的影响。

    3 回复  |  直到 16 年前
        1
  •  0
  •   Anuj Rathi    16 年前

    this.oacds=new yahoo.widget.ds_xhr(“/autocomplete.do”,[“suggestions[0].results”,“name”]);

    在每次按键时,它都从服务器获取一个JSON响应,并使用它来填充“自动完成”下拉列表。JSON包含仅在此节点上显示的名称,“名称”字段中的“建议[0].results”。

    如果你有什么困难,请提前询问。我为asklaila.com写了那段代码

        2
  •  1
  •   Tivac    16 年前

    这使用的是旧版本的yui,但它正在设置一个数据源,以便自动完成读取。这个特定的数据源使用XHR从服务器请求信息来填充自动完成字段。

    "Autocomplete.do" 
    

    是一个相对的URL,每当用户键入时自动完成功能触发时,数据源都会查询该URL。

    ["Suggestions[0].Results","Name"]
    

    通知数据源如何将请求的结果解析到URL的responseSchema。它需要知道如何解析数据,以便显示正确的结果。

        3
  •  0
  •   Kirtan    16 年前

    我在寻找实现 是的,我自动完成了,我遇到了 这个脚本…

    为什么不看一下yui自动完成页面来获得深入的示例呢?

    Yahoo! UI Library: AutoComplete

    推荐文章