添加或删除大量输入中的值

时间:2015-07-15 13:54:45

标签: jquery

如何为[+]和[ - ]按钮提供不同的操作?现在,行动影响了所有投入。

如果输入为空,如果我点击[+]或[ - ],我怎么能假设值为0,即使值=""?

FIDDLE

$input = $('input[type="text"]');

$('.btn').on('click',function(){
     $val = $input.val();
    if ($(this).hasClass('btn-minuse')) {
     $input.val(parseInt($val)-1);
    } else {
    $input.val(parseInt($val)+1);
    }
});

2 个答案:

答案 0 :(得分:0)

问题是初始值不是数字。因此,我们只需使用''检查值是否为($val.length == 0) ? 0 : $val,如果传递的值为 null

,则将值设置为0
$input = $('input[type="text"]');

$('.btn').on('click',function(){
    $val = $input.val();
    $val = ($val.length == 0) ? 0 : $val;
    if ($(this).hasClass('btn-minuse')) {
        $input.val(parseInt($val)-1);
    else 
        $input.val(parseInt($val)+1);
});

答案 1 :(得分:0)

您需要针对您点击的按钮定位每个输入。在您的示例中,您可以立即定位所有输入。尝试:

$('.btn').on('click', function () {
    $input = $(this).closest('div').find('input');
    $val = $input.val() || 0;
    $input.val($(this).hasClass('btn-minuse') ? parseInt($val, 10) - 1 : parseInt($val, 10) + 1);
});

<强> jsFiddle example