【发布时间】:2015-05-11 07:54:34
【问题描述】:
好吧,这似乎应该是一个简单的问题,但答案却让我难以捉摸。我有一个从 JSON 数据构建的表单,我从中构建了一个包含 3 行和 14 列的表,每列都包含一个 INPUT 文本控件。
当任何这些控件中的值发生变化时,我需要找到第一列中输入控件等于特定年份的包含行。
这是一个标记示例:
<table id="MyTable">
<tr>
<td><input type="text" /></td>
<td><input type="text" class="changeHandled"/></td>
<td><input type="text" class="changeHandled" /></td>
</tr>
</table>
我尝试过的选择器是:#MyTable tr:has('input[value="{year}"]') 和几十个变体。
我将 {year} 字符串替换为我正在搜索的年份值,所以它最终看起来像:#MyTable tr:has('input[value="2014"]')
我相信这可能是因为这些值最初是通过代码设置的,因为如果我使用 #MyTable tr:has('input') 它会返回所有行。
由于可维护性,我不想硬编码路径,只需在 javascript 代码中说 $(this).closest("tr")...。
知道如何检索对包含具有特定值的输入的 TR 的引用吗?如果我的代码是正确的,我在通过代码设置值时是否需要做一些不同的事情?
【问题讨论】:
标签: javascript jquery html jquery-selectors