获取在HTML表格中按下按钮的行

时间:2012-12-13 14:49:17

标签: javascript html-table

我有一张如下表格

<table>
<tr>
<td>Item1</td><td>Price-100</td><td>1</td><td><input type="button" value="add one"/>
</tr>
<tr>
<td>Item2</td><td>Price-120</td><td>4</td><td><input type="button" value="add one"/>
</tr>
<tr>
<td>Item3</td><td>Price-90</td><td>2</td><td><input type="button" value="add one"/>
</tr>
</table>

当我点击一个按钮时,我想增加行的第三个单元格的值,增加1.如何获得该单元格的值,该单元格位于单击该按钮的行中。

我尝试使用表格的<tr>标记创建id属性。

var tableRow = $('#tr1').find('td');
var origVal = parseInt($(tableRow[2]).text());
origVal+=1;
$(tableRow[2]).text(origVal);

但是,如果不在表记录中添加id,是否可以获得?

4 个答案:

答案 0 :(得分:2)

<script>
function inc()
{
  var val = parseInt(document.getElementById('myid').value);
  val++;
  document.getElementById('myid').value =val;
}
</script>

答案 1 :(得分:1)

如果您可以使用jQuery

$('table input[type="button"]').click(function() {
        cell = $(this).parent().prev();
        cell.text(parseInt(cell.text()) + 1);
    });

答案 2 :(得分:1)

这是完整的解决方案,除了JS功能之外,您还需要修改HTML。

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    function increment(row)
    {
        var row = row -1;
        var existing_value = Number($('#mytable tr:eq('+row+') > td:eq(2)').text());
        $('#mytable tr:eq('+row+') > td:eq(2)').text(existing_value+1)
    }
</script>

<table id="mytable">
    <tr>
        <td>Item1</td><td>Price-100</td><td>1</td><td><input type="button" value="add one" onClick="increment(1);" />
    </tr>
    <tr>
        <td>Item2</td><td>Price-120</td><td>4</td><td><input type="button" value="add one" onClick="increment(2);" />
    </tr>
    <tr>
        <td>Item3</td><td>Price-90</td><td>2</td><td><input type="button" value="add one" onClick="increment(3);" />
    </tr>
</table>

答案 3 :(得分:0)

使用jQuery,您可以:

<script>
    $('table button').click(function() {
        var $td = $(this).parent().prev();
        var val = parseInt($td.text(), 10) + 1;
        $td.text(val);
    });
</script>