JQuery获取最近的兄弟姐妹输入

时间:2015-03-23 10:45:08

标签: jquery

这是我的文档结构的要点

    <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())
});

但是它只返回一个未定义的

我错过了什么?

4 个答案:

答案 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选择器始终返回一个项目。

工作小提琴:http://jsfiddle.net/urahara/2cpcuogo/

答案 3 :(得分:-1)

试试这个

$(this).parent().parent().find('input.subtotal').val()