无法动态设置输入文本的值

时间:2015-02-24 09:28:21

标签: jquery

当加上一个加号或减号图标时,我试图设置下面元素的输入文本的值

<input type="text" class="QtyInput" value="0">

即使我增加了数量,当我检查元素时它仍然是

显示值为零

请参阅下面的屏幕截图

http://jsfiddle.net/673h38g9/21/

enter image description here

5 个答案:

答案 0 :(得分: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 :(得分:1)

你可以使用

只是一个例子

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

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

答案 2 :(得分:1)

您没有设置element的属性,.val()是input元素的属性。设置您应该使用的value属性:

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

<强> Demo