我正在尝试让 jQuery Autocomplete、Yahoo Finance 和 Zend Framework 一起工作。
我想要的是创建一个表单字段,我可以在其中通过 Yahoo API 自动完成代码符号。
我已经创建了一个 Zend_From 元素,其中包含:
$this->setJQueryParam('source', new Zend_Json_Expr('function( request, response ) {
$.ajax({
type: "GET",
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "YAHOO.Finance.SymbolSuggest.ssCallback",
data: {
query: request.term
},
cache: true,
url: "http://autoc.finance.yahoo.com/autoc";
}
});
}'));
$this->getView()->jQuery()->addJavascript('var YAHOO={Finance:{SymbolSuggest:{}}};');
$this->getView()->jQuery()->addOnLoad('YAHOO.Finance.SymbolSuggest.ssCallback = function (data) {
console.log(JSON.stringify(data)); }');
我发现这篇文章解决了我的部分问题,但我认为使用var YAHOO={Finance:{SymbolSuggest:{}}};
是一个肮脏的把戏,不是正确的做法。
现在,如果我在我的字段中输入 GOO,那么萤火虫控制台将显示如下内容:
{"ResultSet":{"Query":"goo","Result":[{"symbol":"GOOG","name":"Google Inc.","exch":"NMS","type": "S","exchDisp":"NASDAQ","typeDisp":"Equity"},{"symbol":"GT","name":"Goodyear Tire & Rubber Co.","exch":"NYQ" ,"type":"S","exchDisp":"NYSE","typeDisp":"Equity"}...
这很好,但我不知道如何从这个回调函数将这些数据发送回自动完成,知道吗?