Найти исторические цены котировки Yahoo Finance

У меня есть работающий пример jfiddle, я просто хочу его настроить, но я в тупике... У меня есть вопрос из двух частей для этого jfiddle: http://jsfiddle.net/maxmillien/qPVSy/

Часть 1) Есть ли способ очистить поиск каждый раз, когда выполняется новый поиск? Пример: моя цитата "ХОРОШО" и случайный диапазон дат. но затем я хочу найти другую цитату, скажем "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 ответ

Решение

Часть 1) Вы можете прикрепить $.click() чтобы щелкнуть в поле #inputSymbol и очистить текст с помощью .val(''), Если вы хотите, вы можете прикрепить $.click() на символ х или что-то.

Часть 2) Чтобы предотвратить двойной щелчок, вы можете отключить кнопку после первого щелчка, а затем снова включить кнопку после ввода поля. $("#submit").attr("disabled","disabled"); а потом $("#submit").removeAttr("disabled");

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

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

JSFiddle здесь

Другие вопросы по тегам