【发布时间】:2017-01-02 07:16:40
【问题描述】:
我有一个table,其中包含可变数量的行,如下所示:
<tr class"hotel-room">
<td class="cell1">
<input type="hidden" class="hotel-id" name="input_01[label][row][progressive][id]" value="5893" />
<input type="hidden" class="num-nights" name="input_01[label][row][progressive][nights]" value="2" />
<select class="room-selection" name="input_01[label][row][progressive][]">
<option value="etc"...>...options...</option>
</select>
</td>
<td class="cell2">
<input type="number" class="room-qty-input" name="input_01[label][row][progressive][]" />
</td>
<td class="cell3">
<input type="text" class="room-price" name="input_01[label][row][progressive][]" />
</td>
<td class="buttons">
stuff not relevant (two imgs, some text, more markup...)
</td>
</tr>
当我在 'room-qty-input' 数字输入字段中时,我使用 var hotelRoom = $(this).closest('tr'); 检索容器 td 的父 tr
虽然我是通过上述'tr' 的函数,但我需要得到以下信息:
- 第一个单元格中第二个隐藏字段的值
class="num-nights" - 带有
class="num-qty-input"的数字输入字段的值
这些应该是整数,但它们返回为 NaN。我尝试使用以下方法确定它们的价值:
var numbRooms = $(hotelRoom).find('input[type="number"]');
或
var numbNights = $(hotelRoom).find('.num-nights').val();
但它们似乎没有返回正确的值。这是一个有点混乱的功能,也许我做错了什么。想知道您是否有更好的方法来检索我正在寻找的数据。
【问题讨论】:
-
您在所有
name属性上缺少结束",这可能导致value无法正确解析。 -
对不起,错字不在实际代码中;就在此处的转录中;实际的代码有点长,但为了清楚起见,我对其进行了修剪——在这个过程中我错过了那句话;它没有解决问题,但还是感谢您指出
标签: javascript input html-table closest