【发布时间】:2013-04-18 14:28:02
【问题描述】:
基本上我正在尝试做的是检索特定公司的股票报价。在我的代码中,我在 textbox(symb) 中给出特定公司的符号(eg:FB),当我点击 button(getupdate) > 它应该列出我在文本框中输入的特定股票的详细信息。
这是我的代码:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
$(document).ready(function($){
$('getupdate').click(function() {
var symbol = $('input[id=symb]').val(); \\For Example:FB
var url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20WHERE%20symbol%3D'+symbol+'&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";
$.getJSON(url, function(data) {
var items = [];
$.each(data.query.results.quote, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', { 'class': 'my-new-list', html: items.join('')}).appendTo('body');
});
});
});
</script>
</head>
<body>
<div style="padding:16px;">
Stock Ticker : <input id="symb" type="textbox" value="Ticker"></input>
</div>
<button id="getupdate" name = "getupdate" type="button">Get Updates!</button>
</body>
</html>
我哪里出错了?
提前致谢。
【问题讨论】:
-
代码
$('getupdate')=>$('#getupdate')和 URL 中的引号(+symbol+附近)至少有 2 个错误。 -
您应该检查并处理零记录: if (data.query.count == 0)... 而且您没有正确构建查询字符串。 symbol 的值是否真的被放入了 url 字符串中?
-
@netme 谢谢。我在代码中进行了更改。但仍然无法为我的查询获取股票报价。
-
@SteveWellens 我有这些变化。谢谢。
-
@DeepeshShetty,请看我的回答。我还修复了 Yahoo 查询字符串。
标签: jquery yahoo-finance stockquotes