2015-02-24 72 views

回答

1

你所检查的是属性值,该元素的实际值是当您使用.val()内被更新的属性。 value属性用于设置元素的初始值。

$(document).on('click', '.icon-minus', function (e) { 
    var value = parseInt($(this).closest('div').find('.QtyInput').val()); 
    if(value>=1) 
    { 
     var value = parseInt($(this).closest('div').find('.QtyInput').val()); 
     var $input = $(this).closest('div').find('.QtyInput'); 
     $input.val(value-1); 
     console.log('value-', $input.val(), $input.attr('value'), $input.prop('value')) 

    } 

}); 

演示:Fiddle

1

可以使用

只是一个例子

$(this).attr('value', value); 

$(this).closest('div').find('.QtyInput').attr('value', currentquantity); 
1

您没有设置元素的属性,.VAL()是输入元素的属性在这里。设置您应该使用的值属性:

$(this).closest('div').find('.QtyInput').attr('value',currentquantity); 
+0

非常感谢你的工作。 – Pawan 2015-02-24 09:35:08

+0

@PreethiJain:很高兴帮助:) – 2015-02-24 09:36:36

0

是检查元素将仅显示初始值。但是,当您发布表单时,它会采用更新后的值。

0
$(this).closest('div').find('.QtyInput').attr("value",your value); 

Demo