这是我的文档结构的要点
<input type="number" name="checkOutItemList[${status.index}].quantity"
class="item-Quantity form-control" placeholder="0"
value="${item.quantity}">
</div>
<div class="form-group col-md-2 col-xs-9">
<label class="control-label" for="subtotal">
Subtotal
</label>
<input type="text" class="subtotal form-control" id="subtotal" value="${item.srp * item.quantity}" placeholder="0.00" disabled>
</div>
这是我的jquery代码
$(document).on('change', ".item-Quantity", function(e) {
console.log($(this).closest('input .subtotal').val())
});
但是它只返回一个未定义的
我错过了什么?
答案 0 :(得分:4)
您需要使用:
$(document).on('change', ".item-Quantity", function(e) {
console.log($(this).parent().next().find('input.subtotal').val());
});
<强> Working Demo 强>
答案 1 :(得分:0)
尝试此操作:使用closest()
获取父div
,然后使用.next()
将div
转到父div
,之后使用.find()
得到小计输入。确保input
和.subtotal
之间没有空格,因为您正在使用class="subtotal"
找到输入。
$(document).on('change', ".item-Quantity", function(e) {
console.log($(this).closest('div').next('.form-group').find('input.subtotal').val())
});
答案 2 :(得分:0)
我不明白为什么要让它如此复杂:
$(document).on('change', ".item-Quantity", function(e) {
console.log($(this).closest('input').val());
});
注意:如果使用
.class
选择器,则总有可能返回对象数组。#id
选择器始终返回一个项目。
答案 3 :(得分:-1)
试试这个
$(this).parent().parent().find('input.subtotal').val()