Отображение суммы цен на акции из API акций Google Финансов

Я могу получить и отобразить информацию о ценах на акции из Google Finance API, но хотел бы добавить цены на акции и отобразить сумму объединенных сумм. Учитывая следующий код:

HTML

<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.0-rc2/css/bootstrap.css">
 <script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js"></script>
  <body>
  <div class="container">
  <h1>Stock Portfolio</h1>
  <h2>Total Portfolio Value:</h2>
  <div class="total"></div>
  <h3>Stocks</h3>
  <div class="stockTick"></div>
  <div class="stockTick2"></div>
</div>

jQuery

$(document).ready(function(){

  $.getJSON('https://finance.google.com/finance/info?client=ig&q=NYSE:FB&callback=?',function(response){
    var stockInfo = response[0];
    var stockString =
   '<div class="stockWrapper">';
      stockString +='Company: <span class="stockSymbol"><b>'+stockInfo.t+'</b></span><br />';
      stockString +='Price: <span class="stockPrice">'+stockInfo.l+'</span><br />';
      stockString +='Change: <span class="stockChange">'+stockInfo.c+'</span><br />';
      stockString +=' Reported at: <span>at</span> <span class="stockTime">'+stockInfo.ltt+'</span><hr>';
    stockString +='</div>';
    $('.stockTick').prepend(stockString);
  });
  $.getJSON('https://finance.google.com/finance/info?client=ig&q=NYSE:USMD&callback=?',function(response){
    var stockInfo = response[0];
    var stockString2 =
   '<div class="stockWrapper">';
      stockString2 +='Company: <span class="stockSymbol"><b>'+stockInfo.t+'</b></span><br />';
      stockString2 +='Price: <span class="stockPrice">'+stockInfo.l+'</span><br />';
      stockString2 +='Change: <span class="stockChange">'+stockInfo.c+'</span><br />';
      stockString2 +=' Reported at: <span>at</span> <span class="stockTime">'+stockInfo.ltt+'</span>';
    stockString2 +='</div>';
    $('.stockTick2').prepend(stockString2);
  });
});

Вот он в jsfiddle


person Matt    schedule 31.10.2013    source источник


Ответы (1)


FaceBook (FB) и USMD представлены не на NYSE, а на NASDAQ.

Вот URL-адреса, которые будут возвращать данные JSON.

https://finance.google.com/finance/info?client=ig&q=NASDAQ:FB https://finance.google.com/finance/info?client=ig&q=NASDAQ:USMD

Чтобы получить общую стоимость акций, вы можете сделать что-то подобное в функции ответа $('.total').text(parseFloat($('#total').text()) + parseFloat(stockInfo.l)) ; (используя ваш пример скрипки)

person Richard Hubley    schedule 01.11.2013
comment
как ни странно, смена маркета, на котором они стоят, не влияет на отображение. Кроме того, это не отвечает на вопрос. Я пытаюсь понять, как добавить два значения из акций. Поэтому я ищу добавить .stockTick + .stockTick2 - person Matt; 01.11.2013
comment
Я разрабатываю способ извлечь значения из каждого из каналов и добавить их. Пока что я работаю вот с чем: var stockTickPrice = (stockInfo[0].l) var stockTickPrice2 = (stockInfo2[0].l) var total = (stockTickPrice + stockTickPrice2); alert(total); - person Matt; 02.11.2013
comment
добавлен код для обновления div.total в вашей скрипте с общей стоимостью акций. - person Richard Hubley; 13.11.2013
comment
Спасибо @Richard Hubley, это сработало! И чтобы получить общую стоимость каждой акции, я просто умножил ее на количество акций. $('.total').text(parseFloat($('.stockPrice').text()) + parseFloat(stockInfo.l) * 108) - person Matt; 17.12.2013
comment
Исправлено $('.total').append(parseFloat($('.stockPrice').text())*16 + $('.stockPrice2').text()*116); - person Matt; 18.12.2013