jQuery增加最近输入的值undefined

时间:2015-09-25 11:51:33

标签: jquery

我有这个HTML:

jQuery('.tiny-up-down-wrapper .minus').click(function() {
    var theVal = jQuery(this).closest('input').val();
    alert(theVal);
});

这个jQuery:

undefined

此问题是警报即将发出{{1}}。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

问题是因为closest()用于查找最近的父元素,而input.minus元素兄弟的子元素。相反,您可以使用closest()获取最近的.tiny-up-down-wrapper,然后find()获取input。试试这个:

$('.tiny-up-down-wrapper .minus').click(function() {
    $(this).closest('.tiny-up-down-wrapper').find('input').val();
    alert(theVal);
});

要实际递减该值,您可以执行以下操作:

$('.tiny-up-down-wrapper .minus').click(function() {
    $(this).closest('.tiny-up-down-wrapper').find('input').val(function(i, v) {
        return --v;
    });
});

Example fiddle