簡體   English   中英

YUI3自動完成:選擇事件后如何獲取價值

[英]YUI3 Autocomplete: How to get value from after select event

我正在實現使用YUI3從Yahoo Finance API獲取股票信息的應用程序。 我已經完成了自動完成列表,但是在用戶單擊鼠標或在列表上按Enter鍵后,如何獲取值面臨一個問題。

這是我的代碼。 問題是mynode.after(...)給出了一個錯誤,但我不知道為什么以及如何解決它。 任何幫助,將不勝感激。 謝謝。

   YUI().use('autocomplete', function (Y){
    mynode = Y.one('#comsymbol');
    mynode.plug(Y.Plugin.AutoComplete, {
        activateFirstItem: true,
        enableCache: false,
        source: function(query, callback) {
            $.ajax({
                dataType: "jsonp",
                cache: true,
                type: "GET",
                jsonp: "callback",
                jsonpCallback: "YAHOO.Finance.SymbolSuggest.ssCallback",
                data: {query:query},
                url: "http://autoc.finance.yahoo.com/autoc",
            });

            YAHOO.Finance.SymbolSuggest.ssCallback = function(data) {
                var result = data.ResultSet.Result;
                var lists = new Array();
                for( var i = 0; i < result.length; i++ ) {
                    var sb = result[i].symbol;
                    var nm = result[i].name;
                    var xch = result[i].exch;
                    var all = sb + ", " + nm + " (" + xch + ")";
                    lists[i] = all;
                }
                callback( lists );
            };
        },
        }

        mynode.after('select', function (e) {
            getStockInfo();
        });

    });

});

您必須將事件偵聽器附加到AutoComplete實例而不是Node 可以通過Nodeac成員訪問AutoComplete實例,從那里您可以像以前一樣簡單地附加事件回調:

mynode.ac.after('select', function (e) {
    getStockInfo();
});

有關更多詳細信息,請參見YUI自動完成教程 (專門作為“插件”部分)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM