Выбрать все значения 2-й ячейки в таблице для массива с помощью jQuery - PullRequest
0 голосов
/ 03 июля 2018

Я работаю над требованием, когда мне нужно помещать числа в текстовых полях в массив. Текстовые поля находятся во 2-й ячейке строки таблицы, а в 3-й ячейке указатель даты.

Фрагмент кода ниже дает мне все значения текстового поля вместе со значениями даты в массиве. Мне нужны только значения текстовых полей для этого массива. Пожалуйста, помогите мне с решением.

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 голосов
/ 03 июля 2018

Вот как заставить его работать с вашим собственным кодом.

$(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>
0 голосов
/ 03 июля 2018

Вы можете сделать то же самое для 2-й ячейки, например:

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

console.log(secondCellContents); 

Кроме того, метод .val() в основном используется для получения значений элементов формы, таких как input, select и textarea, а .text() используется для получения комбинированного текстового содержимого каждого элемента. Метод .text() возвращает значение узлов текста и CDATA, а также узлов элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...