javascript - 查找历史雅虎财经报价

标签 javascript jquery json yql yahoo-finance

我有一个有效的 jfiddle 示例,我只是想对其进行调整,但是,我很难过...... 我有一个关于这个 jfiddle 的两部分问题:http://jsfiddle.net/maxmillien/qPVSy/

第 1 部分 有没有办法在每次完成新搜索时清除搜索? 示例:我的报价是“GOOG”和一个随机日期范围。但是,我想搜索另一个引用“AAPL”,是否有一种方法可以删除/删除之前搜索“GOOG”的价格和日期。

第 2 部分 有没有办法防止双击相同的日期? 示例:搜索过去两周的内容……但是点击按钮两次,您会看到相同的日期和价格。我想防止这种情况发生。

代码如下:

var yqlURL="http://query.yahooapis.com/v1/public/yql?q=";
var dataFormat="&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";

$(function() { //Load jQueryUI DatePicker by class name
    $( ".datePick" ).datepicker({dateFormat: 'yy-mm-dd'} );
});

$("#submit").click(function() {
    var symbol = $("#txtSymbol").val();
    var startDate=$("#startDate").val();
    var endDate=$("#endDate").val();

    var realtimeQ = yqlURL+"select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22" + symbol + "%22)%0A%09%09&"+ dataFormat;
    var historicalQ = yqlURL+"select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22"+ symbol +"%22%20and%20startDate%20%3D%20%22"+ startDate +"%22%20and%20endDate%20%3D%20%22"+ endDate +"%22"+ dataFormat;

    $(function() {
        $.getJSON(realtimeQ, function(json) {//YQL Request
            $('#symbol').text(json.query.results.quote.Name);//Assign quote.Param to span tag
            $('#bidRealtime').text(json.query.results.quote.BidRealtime);
        });
    });  
    $(function() {
        $.getJSON(historicalQ, function(json) {            
            $.each(json.query.results.quote, function(i, quote) {//loop results.quote object 
                $("#date").append('<span>' + quote.Date + '</span');//create span for each record
            });            
            $.each(json.query.results.quote, function(i, quote) { //new each statement is needed
                $("#closeValue").append('<span>' + quote.Close + '</span');
            });
        });
    });
});

最佳答案

第 1 部分)您可以将 $.click() 附加到单击 #inputSymbol 框中并使用 .val('') 清除文本。如果需要,您可以将 $.click() 附加到 x 符号或其他东西。

第 2 部分)为了防止双击,您可以在第一次单击后禁用该按钮,然后在输入字段后再次启用该按钮。 $("#submit").attr("disabled","disabled"); 然后是 $("#submit").removeAttr("disabled");

$("#txtSymbol").click(function() { $("#txtSymbol").val(''); // part 1 this.enableSubmit; // part 2 });

var enableSubmit = function() { $("#submit").removeAttr("disabled"); }

JSFiddle here

关于javascript - 查找历史雅虎财经报价,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22200499/

相关文章:

javascript - 如何将 ng-repeat 变量的值传递给输入 ["file"] 的 onchange 函数?

javascript - 过滤具有多个属性的多个数组对象

javascript - 我想在 Javascript/Jquery 函数中使用异常处理

java | Json 字符串到对象(无需库)

javascript - 警告 : failed prop type: Required prop 'region.latitude' was not specified

javascript - JavaScript 中没有额外的 boolean 值转换

php - 将变量从表单传递到下一页并放入sql语句php

jquery - 居中 Bootstrap col-xs-* 类(居中 Bootstrap 固定宽度输入机器人)

python - 在Python 3上使用 `json.dumps`时如何添加一些空行?

java - 在java中检索嵌套json中的所有键