如何在HTML表中获取行索引

我正在尝试更新数据库用户表。 我制作了一个HTML表,其中包含我数据库中用户的数据。 这个HTML表包含3列,每行有一个按钮。 当我单击此按钮时,我应该使用html表单元格中输入和选择字段中包含的信息更新用户数据库表。 我的HTML代码是:

     Engineer   Doctor      

我试图获取单击更新按钮的行数,然后获取每列中的数据但是我失败了。 我的js代码是:

 $("button").click( function() { var $row = $(this).parent().parent(); //tr var $columns = $row.find('td'); $.each($columns, function(i, item) { values = values + 'td' + (i ) +':
'; }); });

如何在单击按钮的行中获取数据(inpt文本,所选项目)?

你可以像这样使用

 $("button").click(function () { var inputValue = $(this).closest("tr").find("input[type=text]").val(); var selectValuse = $(this).closest("tr").find("[name='select_job']").val(); var index = $(this).closest("tr").index(); }); 

您可以使用closest('tr')获取当前按钮的行,并使用index()来获取行的索引。

现场演示

 $(this).closest('tr').index() 

可能类似下面的代码将帮助您获得所需的信息。

 $("button").click(function () { var $row = $(this).parent().parent(); //tr var $columns = $row.find('td'); var rowIndex = $row.index(); var values = new Array(); for (var i = 0; i < $columns.length - 1; i++) { var item = $columns[i]; values.push($(item).children().val()); } alert(JSON.stringify(values)); }); 

http://jsfiddle.net/X4mMw/

你可以使用parents()函数。

 var tr = $(this).parents('tr'); 

这会给你的行点击哪个按钮。

        $("button").click(function () { var $row = $(this).parents('tr:first'); var txt = $row.find('input[type=text]').val(); var salVal = $row.find('select:selected').val(); alert(txt+' '+salVal); });