如何为[+]和[ - ]按钮提供不同的操作?现在,行动影响了所有投入。
如果输入为空,如果我点击[+]或[ - ],我怎么能假设值为0,即使值=""?
$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);
}
});
答案 0 :(得分:0)
问题是初始值不是数字。因此,我们只需使用''
检查值是否为($val.length == 0) ? 0 : $val
,如果传递的值为 null
$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 强>