2015-01-15 56 views
0
var row = document.getElementById("table").tBodies[0].rows; 
    $(function() { 
     $('table td').click(function(e) { 
     if (e.target.id === "Sellbtn") { 
      var sell = prompt("Input the amount you wish to sell"); 
      for (var i = 0; i < row.length; i += 1) {}; 

      //where the problem lies i guess 
      row.cells[4].innerHTML = parseInt(row.cells[4].innerHTML) - sell; 
      row.cells[6].innerHTML = +sell + +row.cells[6].innerHTML; 


     } else if (e.target.id === "Deletebtn") { 
      return false; 
     } else { 
      var ask = prompt("ادخل"); 
      $(this).html(ask); 
     } 
     }); 
    }); 

我有一个表格中的行从本地存储中加载,因为它们以前已保存过。每行都有一个销售按钮,点击时会提示并要求销售金额。当用户输入一个值时,它应该从用户输入的那个数字中减去cell[4]中的数字,但是发生的只是它从最后一个添加的行的cell[4]中减去,它不会检测到按钮I'的哪一行点击。把它放在for循环里面什么都不给我,甚至没有错误。行中的HTML按钮不能正常工作

+0

请在您的问题中包含相关的HTML。 – 2015-01-15 16:16:51

+0

parseInt也出售。 – 2015-01-15 16:17:19

+3

键盘的右下角是全停止按钮,它在句子之间使用。 – Jamiec 2015-01-15 16:18:03

回答

0

你的for循环没有做任何事情。

认为你想做类似以下的事情,但我不太确定。

for (var i = 0; i < row.length; i += 1) { 

    //where the problem lies i guess 
    row[i].cells[4].innerHTML = parseInt(row.cells[4].innerHTML) - sell; 
    row[i].cells[6].innerHTML = +sell + +row.cells[6].innerHTML; 

} 

编辑(忽略这一点)

只注意到+sell + +这段代码。这需要更改为有效的东西。

+1

'+ {variable}'是一个奇怪的JavaScript快捷方式,它将一个字符串强制转换为一个数字。所以这条线是有效的,它基本上'(数字)var加(数字)单元格值'(http://jsfiddle.net/1uhq8gfq/) – Jamiec 2015-01-15 16:34:37

+0

很高兴知道,谢谢。 – Razzildinho 2015-01-15 16:37:29