如何在与执行该功能的按钮相同的行中获取文本框的值?

时间:2015-01-16 01:56:46

标签: javascript html

我知道它是这样的:

var table = document.getElementById("table");
var val = table.rows[currentRow].cells[1].children[0].value;

我不确定在行之后的硬括号之间放什么。 (目前的行是我不知道该放什么)

我希望能够单击按钮,单击该按钮时,同一行中的文本框将返回文本框的值。文本框和按钮都是使用Javascript动态创建的。我实际上只关心如何在当前行中获取文本框的值。

" ///"是我不知道该放什么。

var total = 0;

  function frenchBread(x){
      var table = document.getElementById("orderTable");
      var row = table.insertRow(0);

      var rem = document.createElement("button");
      var name = document.createTextNode("Remove");
      rem.appendChild(name);  
      rem.onclick = function(){
        document.getElementById("orderTable").deleteRow(this);
        x.disabled = false;
        document.getTotal.total.value = document.getTotal.total.value - (9 * table.rows[///].cells[1].children[0].value);
      }

      var num = document.createElement("input");
      num.size = 2;

      num.onchange = function(){

        var table = document.getElementById("orderTable");
        var amount = 0;
        var tot = 0;
        for(var x = 0; x < table.rows.length; x++){
         amount = amount + table.rows[x].cells[1].children[0].value;
        }
        tot = amount * 9;
        document.getTotal.total.value = tot;
      }

        var cell1 = row.insertCell(0);
        var cell2 = row.insertCell(1);
        var cell3 = row.insertCell(2);

        cell1.innerHTML = "French Bread";
        cell2.appendChild(num);
        cell3.appendChild(rem);
        x.disabled = true;
        num.value = 1;
        total = total + 9;
        document.getTotal.total.value = total;

  }


<table>
      <tr>
          <td><button type = "button" onclick = "frenchBread(this)">>img src = "FrenchBread.png"></button></td>
       </tr>
</table>

<table id = "orderTable">
            </table>

我还想知道如何在for循环中添加文本框的值。这些数字只是相互追加。例如,当一个框表示1而另一个表示2时,而不是添加成为3,它变为12。

num.onchange = function(){

        var table = document.getElementById("orderTable");
        var amount = 0;
        var tot = 0;
        for(var x = 0; x < table.rows.length; x++){
         amount = amount + table.rows[x].cells[1].children[0].value;
        }
        tot = amount * 9;
        document.getTotal.total.value = tot;
      }

0 个答案:

没有答案