[英]How to get the row index in a HTML table
我正在尝试更新数据库用户表。 我制作了一个HTML表,其中包含我数据库中用户的数据。 这个HTML表包含3列,每行有一个按钮。 当我单击此按钮时,我应该使用html表单元格中输入和选择字段中包含的信息更新用户数据库表。 我的HTML代码是:
<tr>
<td><input type="text" name ="name"/></td>
<td>
<select name="select_job">
<option value="1"> Engineer </option>
<option value="2"> Doctor </option>
</select>
</td>
<td><button>update </button></td>
</tr>
我试图获取单击更新按钮的行数,然后获取每列中的数据但我失败了。 我的js代码是:
$("button").click( function() {
var $row = $(this).parent().parent(); //tr
var $columns = $row.find('td');
$.each($columns, function(i, item) {
values = values + 'td' + (i ) +':<br/>';
});
});
如何在单击按钮的行中获取数据(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();
});
您可以使用parents()函数。
var tr = $(this).parents('tr');
这会给你的行点击哪个按钮。
<tr>
<td><input type="text" name ="name"/></td>
<td>
<select name="select_job">
<option value="1"> Engineer </option>
<option value="2"> Doctor </option>
</select>
</td>
<td><button>update </button></td>
</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);
});
可能类似下面的代码将帮助您获得所需的信息。
$("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));
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.