jquery没有使用for循环

时间:2017-07-29 12:59:20

标签: javascript jquery node.js for-loop socket.io

我正在使用NodeJS和Socket.IO,我在前端遇到了JQuery的这个问题。我没有得到任何错误,但是当我运行for循环时,JQuery将所有点击注册为一个按钮。 (例如,当您单击“添加面粉”按钮时,它会添加面包)。

CodePen:https://codepen.io/anon/pen/qXbbQg

使用Javascript:

var stocks = [ ["flour", 0], ["bread", 0] ];
var getNumInput = function(id){
    return Number(document.getElementById(id).value);
};
window.onload = function() {
  var socket = io(); // Server will see this as connection

  for(x in stocks) {
    $("#" + stocks[x][0] + "Remove").click(function(){
        stocks[x][1] = stocks[x][1] - getNumInput(stocks[x][0] + "In");
            socket.emit('stocksUpdate', stocks);
    });
    $("#" + stocks[x][0] + "Add").click(function(){
        stocks[x][1] = stocks[x][1] + getNumInput(stocks[x][0] + "In");
        socket.emit('stocksUpdate', stocks);
    });
  }

HTML:

<h1 id="flour">Waiting for connection to server</h1>
<form action="">
    <button type="button" name="button" style="width: 100px; height: 30px;" id="flourRemove">Remove</button>
    <input type="number" name="flourIn" value="10" id="flourIn">
    <button type="button" name="button" style="width: 100px; height: 30px;" id="flourAdd">Add</button>
</form>
<h1 id="bread">Waiting for connection to server</h1>
<form action="">
    <button type="button" name="button" style="width: 100px; height: 30px;" id="breadRemove">Remove</button>
    <input type="number" name="breadIn" value="10" id="breadIn">
    <button type="button" name="button" style="width: 100px; height: 30px;" id="breadAdd">Add</button>
</form>

我在服务器端所做的就是发出我收到的信息,以便所有用户都可以看到它,所以不要担心套接字代码。

0 个答案:

没有答案