Estoy usando el campo numérico con más y menos para seleccionar la cantidad de producto para un proyecto. Necesito establecer un límite máximo cuando presiono el ícono más. Estoy usando el siguiente código
$(document).ready(function() { $('.minus').click(function () { var $input = $(this).parent().find('input'); var count = parseInt($input.val()) - 1; count = count < 1 ? 1 : count; $input.val(count); $input.change(); return false; }); $('.plus').click(function () { var $input = $(this).parent().find('input'); $input.val(parseInt($input.val()) + 1 ); $input.change(); return false; }); });Cómo establecer un límite máximo para cuando presiono el ícono +.
Optimice la legibilidad usando Math.min() y Math.max()
const MINIMUM = 1 const MAXIMUM = 99 $(document).ready(function() { $('.minus').click(function () { var $input = $(this).parent().find('input'); var newCount = Math.max(parseInt($input.val()) - 1, MINIMUM); $input.val(newCount); $input.change(); return false; }); $('.plus').click(function () { var $input = $(this).parent().find('input'); var newCount = Math.min(parseInt($input.val()) + 1, MAXIMUM) $input.val(newCount); $input.change(); return false; }); });Así es como lo limitaría a 99, por ejemplo:
$(document).ready(function() { $('.minus').click(function () { var $input = $(this).parent().find('input'); var count = parseInt($input.val()) - 1; count = count < 1 ? 1 : count; $input.val(count); $input.change(); return false; }); $('.plus').click(function () { var $input = $(this).parent().find('input'); var count = parseInt($input.val()) + 1; count = count > 99 ? 99 : count; $input.val(count); $input.change(); return false; }); });Necesita verificar el valor actual. Si el valor excede el límite, ignore la acción:
$(document).ready(function() { $('.minus').click(function () { var $input = $(this).parent().find('input'); var count = parseInt($input.val()) - 1; count = count < 1 ? 1 : count; $input.val(count); $input.change(); return false; }); $('.plus').click(function () { var $input = $(this).parent().find('input'); if ($input.val() > 100) { return; } $input.val(parseInt($input.val()) + 1 ); $input.change(); return false; }); });