繁体   English   中英

如何在HTML表中获取行索引

[英]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();
});

您可以使用closest('tr')获取当前按钮的行,并使用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));
});

http://jsfiddle.net/X4mMw/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM