Как передать данные, нажав JQuery, socket.io, node.js? - PullRequest
0 голосов
/ 08 февраля 2019

Помогите мне понять, что я делаю неправильно.Есть таблица с цитатами.И есть две кнопки, чтобы спросить и предложить цену. Нажав на строку таблицы, я выбираю символ и кавычки и помещаю эти данные в кнопки.Все работает как положено, если я нажимаю на строку сверху вниз: 1, 2, 3, 4 и т. Д. Если я нажимаю вверх: 5, 4, 3 и т. Д., То только 5 строк или далее, 6, 7и т. д. отображаются.Не могу понять почему так?Вот код:

<button class="button_bid">
    <span class="title">Bid</span>
    <span class="val"></span>
</button>

$(function () {

    var socket = io('/', {path : '/trade/socket.io'});
    var quotes = ['EURUSD','GBPUSD','USDJPY'];
    var tableArr = ['<table>'];

    quotes.forEach(function(item, i, quotes) {
        tableArr.push('<tr id="line_'+quotes[i]+'"><td id="wt_symbol">'+quotes[i]+'</td><td id="get_quote_'+quotes[i]+'_bid" class="bid"></td></tr>');

        socket.on('get_quote_'+quotes[i], function(msg){
            $('#quotes td#get_quote_'+quotes[i]+'_bid').text(`${msg.bid}`);
        });
    });

    tableArr.push('</table>');
    document.getElementById('insertTable').innerHTML = tableArr.join('\n');

    $('#quotes').on('click', 'tr', function(){

        // add class active 
        $('#quotes tr').removeClass('active');
        $(this).addClass('active');

        // show active symbol
        var active_symbol = $(this).find('#wt_symbol').text();
        $('.active_symbol').text(active_symbol);

        // update quotes in button
        socket.on('get_quote_'+active_symbol, function(msg){
            $('.button_bid .val').text(`${msg.bid}`);
        });
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...