如何通过单击JQuery,socket.io,node.js传递数据?

时间:2019-02-08 13:19:27

标签: javascript jquery html node.js sockets

帮助我了解我在做什么错。 有一张带引号的表格。还有两个要价和出价的按钮 通过单击表格行,我选择了符号和引号并将此数据放入按钮中。如果我单击从上到下的行,一切都会按预期进行: 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}`);
        });
    });
});

0 个答案:

没有答案