我有以下 HTML :
<tr class="wiring_details_6-48">
<td colspan="2"> Wire Type:
<select name="select_wire_6" onchange="Estimate.select_wire( 6, this.value, 0 );">
<option value="" selected="">Select wire..</option>
<option value="1">14/2</option>
<option value="2">14/4</option>
<option value="3">16/4</option>
<option value="4">16/2</option>
<option value="5">RG6</option>
<option value="6">CAT5</option>
<option value="7">RG59</option>
<option value="8">LVT</option>
<option value="9">CAT6</option>
<option value="10">HDMI</option>
<option value="11">Shielded CAT6</option>
</select> </td>
<td colspan="2">Length:
<input type="text" class="id_wire_length_6" name="wire_length_6" value="0"></td>
<td colspan="2">Retail Price:
<input type="text" class="id_wire_retail_6" name="wire_retail_6" value="0"> </td>
<td colspan="2">
<input type="hidden" id="wire_id_6" name="wire_id_6" value="0"> </td>
</tr>
我想确保input
- id_wire_length
和id_wire_retail
与其父tr
相关,这可以通过part-id
来证明在此示例中,6
以及wiring_details
和id_wire_length
中的数字为id_wire_retail
。
我拥有的 JS 是:
$('input[class^="id_wire_retail"]').each(function() {
parts_cents_total += (Money.dollars_to_cents($(this).val()) * $('input[class^="id_wire_length"]').val());
});
以上内容与id_wire_detail
部分以及id_wire_length
匹配 - 但我如何确保它与其父级相关,
如何获取父tr
的部件号(6),然后确保上述JS仅匹配其中包含tr
部件号的输入元素?
答案 0 :(得分:2)
而不是:
$('input[class^="id_wire_length"]').val()
...试试这个:
$(this).closest('tr').find('input[class^="id_wire_length"]').val()
这将确保您选择的值是同一<tr>
内部的值。假设HTML结构与您上面发布的一样,您不必担心按部件号进行匹配。