选择表中的所有第二个单元格值以使用jQuery进行数组

时间:2018-07-03 13:43:03

标签: javascript php jquery html html-table

我正在处理一项要求,其中需要将文本框中的数字推入数组。文本框在表格行的第二个单元格中,第三个单元格是日期选择器。

下面的代码段为我提供了所有文本字段值以及数组中的日期值。我只需要该数组的文本字段的值。请帮我解决。

var NumbersArray = $('#myTable input[type=text]').map(function() {
  return this.value;
}).get();
console.log(NumbersArray);

下面的这段代码也不起作用:

var secondCellContents = [],

$('#myTable tbody tr').each(function() {
  var $secondCell = $(this).children('td').eq(1).text(),
    secondCellContent = $secondCell.text();

  secondCellContents.push(secondCellContent);
});
console.log(secondCellContents);

2 个答案:

答案 0 :(得分:0)

您可以对第二个单元格执行相同的操作,例如:

var secondCellContents = $('#myTable tbody tr').map(function() {
    return $('td:eq(1)', this).val();
}).get();

console.log(secondCellContents); 

此外,.val()方法主要用于获取表单元素的值,例如输入,选择和文本区域,.text()用于获取每个元素的组合文本内容。 .text()方法返回text和CDATA节点以及元素节点的值。

答案 1 :(得分:0)

这是使其与您自己的代码一起使用的方法。

$(document).ready(function(){

  var NumbersArray = $('#myTable td:nth-child(2) input[type="text"]').map(function() {
      return $(this).val();
  }).get();
  
  console.log(NumbersArray); 
  
  //OR
  
  var secondCellContents = [];

  $('#myTable tbody tr').each(function () {
     var $secondCell = $(this).children('td:eq(1)');
     secondCellContent = $secondCell.find('input').val();
     secondCellContents.push(secondCellContent);
  });
  
  console.log(secondCellContents);
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id='myTable'>
<tbody>
  <tr>
    <td>Row 1</td>
    <td><input type='text' value="1" /></td>
    <td></td>
  </tr>
  <tr>
    <td>Row 2</td>
    <td><input type='text' value="2" /></td>
    <td></td>
  </tr>
  <tr>
    <td>Row 3</td>
    <td><input type='text' value="3" /></td>
    <td></td>
  </tr>
</tbody>
</table>