javascript - jQuery 在 td 中选择所有行的输入

标签 javascript jquery html

我试图在更改时计算表中所有输入字段的值。 下面是目标示例 HTML 表,也是我尝试使用 foreach 迭代行来获取表中所有输入字段的值的 jQuery 代码:

$('#mytable :input').change(function() {
  var numrows = 1;
  var rows;
  $('#out').text('');
  $('#mytable tr').each(function() {
    var date = $(this).children('td:eq(1)');
    var obj = $(this).children('td:eq(2):input').value;
    var comma = $('#queryTable tbody tr').length != numrows ? "," : "]";
    var row = "{\"" + date + "\";\"" + obj + "\"}" + comma + "\n";
    //row += date * obj;
    //row =  numrows == 1 ? "["+row : row;
    $('#out').append(row);
    numrows++;
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="out">
Test
</div>

<table id="mytable" border="1">
  <tr>
    <th>Col1</th>
    <th>Col2</th>
    <th>Col3</th>
  </tr>
  <tr>
    <td>value1</td>
    <td>1</td>
    <td>Label1:
      <Input type="text"></Input>
    </td>
  </tr>
  <tr>
    <td>value2</td>
    <td>3</td>
    <td>Label2:
      <Input type="text"></Input>
    </td>
  </tr>
  <tr>
    <td>value3</td>
    <td>ttt</td>
    <td>Label3:
      <Input type="text"></Input>
    </td>
  </tr>
</table>

Fiddle sample code

最佳答案

我建议您使用 keyup 而不是更改,因为更改不会触发,直到输入失去焦点:

$('#mytable :input').keyup(function(){
  var numrows = 1;
  var rows;
  $('#out').text('');
  $('#mytable tr:not(:first-child)').each(function(){
      var date = $(this).children().eq(1).text();
      var obj = $(this).children().eq(2).children('input').val();
      var comma = $('#queryTable tbody tr').length != numrows ? "," : "]";
      var row = "{\""+date+"\";\""+obj+"\"}"+comma+"\n";
      //row += date * obj;
      //row =  numrows == 1 ? "["+row : row;
    $('#out').append(row);
      numrows++;
  });
});

这是你的工作 jsfiddle

http://jsfiddle.net/ZZYD4/891/

顺便说一句,我忽略将其添加到选择器的第一行 :not(:first-child) 因为那是标题行

关于javascript - jQuery 在 td 中选择所有行的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48894847/

相关文章:

javascript - AngularJS 指令为 "custom"HTML 标签 : isn't this dangerous and may conflict with future HTML versions?

html - href 中的查看源代码在控制台中显示错误

javascript - IE11上worker中的事件构造函数?

javascript - AngularJS 的 ngSanitize 应该修复标签吗?

javascript - scrapy-splash 用于渲染 javascript

javascript - 在 foreach 循环中获取 TD 的值

javascript - 调用 'sibling' 函数

javascript - td 标签内有条件执行 php 脚本

javascript - 根据屏幕高度选择下拉高度

javascript - Owl Carousel 2 自定义导航