【问题标题】:Using jQuery how do I find which row # contains an input with a value in it?使用 jQuery 如何找到哪一行 # 包含一个带有值的输入?
【发布时间】:2012-12-29 04:23:12
【问题描述】:

我有一个包含多行的表。我正在尝试返回包含输入的行#,其中包含一个值。我明白我做错了什么......我的选择器只选择了 1 行,而不是我所在的行。http://jsfiddle.net/silvajeff/4Sb8K/

   <table id="oustandingItems">
    <tr><th>Category</th></tr>
    <tr><td><input name="mytest" /></td></tr>
    <tr><td><input name="mytest" value="123"/></td></tr>
    <tr><td><input name="mytest" /></td></tr>
    <tr><td><input name="mytest" /></td></tr>
   </table>


  <button id="findRow">Find Row</button>
  <input type="text" id="myRow" />

$("#findRow").click(function() {   
   var tableRow = $('#oustandingItems tr:has(td input[value!=""])').prevAll().length;  
   $("#myRow").val(tableRow);
});

【问题讨论】:

  • 在表格中看不到您的输入元素。你能看看张贴的小提琴吗?

标签: jquery select indexing html-table row


【解决方案1】:

这最终成为了正确的解决方案,只是我使用了不正确的 jquery 版本。该解决方案适用于我测试过的 jquery 1.7.2 及更高版本。

var tableRow = $('#oustandingItems tr:has(td input[value!=""])').prevAll().length;

http://jsfiddle.net/silvajeff/4Sb8K/

【讨论】:

  • 你确定你不只是想要$('input[value]').closest('tr').index();
猜你喜欢
  • 2021-05-12
  • 1970-01-01
  • 2021-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多