基本上我正在尝试的是检索特定公司的股票报价。在我的代码中,我在文本框(symb)中给出了特定公司的代码(例如:FB),当我单击按钮(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>


我要去哪里错了?

提前致谢。

最佳答案

您的JS代码中有几个错误:


错误的按钮选择器:$('getupdate') => $('#getupdate');
url值内的引号错误;
Yahoo API的查询字符串错误;
错误的注释符号\\For Example:FB


您的JS应该是这样的:

jQuery(document).ready(function($){
    $('#getupdate').click(function() {
            var symbol = $('input[id=symb]').val();
            var url = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%3D%22' + symbol + '%22&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=';
            $.getJSON(url, function(data) {
                var items = [];
                $('#results').html('');
                $.each(data.query.results.quote, function(key, val) {
                    items.push('<li id="' + key + '">' + val + '</li>');

                });
                $('<ul/>', { 'class': 'my-new-list', html: items.join('')}).appendTo('#results');
            });
    });
});


并且请在HTML中<button>标记后添加此代码。这将帮助您在进行新查询之前轻松清除结果:

<div id="results"></div>


这是一个示例:http://jsfiddle.net/6EFqk/1/

我不确定输出格式是否正确,请根据需要重新格式化。

08-18 07:55