При нажатии wil ++ или - значение, цифровая клавиатура
Используя цифровую клавиатуру, я добавил обработчик.switch, который при щелчке возвращает значение "0" (только для целей тестирования)
Если значение +32 и кнопка нажата, я бы хотел изменить ее на -32, и наоборот.
до сих пор я только получил его, чтобы вернуться к 0, я думал потом удалить или добавить val снова, даже пытался - $('#myInput').val());
$('.switch').click(function () {
if (!isNaN($('#myInput').val()) && $('#myInput').val().length > 0) {
$('#myInput').val(parseInt($('#myInput').val()) - $('#myInput').val());
}
if (!isNaN($('#myInput').val()) && $('#myInput').val().length < 0) {
$('#myInput').val(parseInt($('#myInput').val()) + $('#myInput').val());
}
});
2 ответа
Если все, что вы пытаетесь сделать, это переключаться между положительным / отрицательным числом, вы можете сделать свой код намного проще и потерять все if
условия:
$('.switch').click(function () {
var $input = $('#myInput');
$input.val() != "" && !isNaN($input.val()) && $input.val(-$input.val());
});
Это эквивалент умножения числа на -1
, который будет иметь тот же эффект.
$('#myInput').val().length < 0
когда длина строки будет меньше нуля?
parseInt($('#myInput').val()) + $('#myInput').val()
это фактически не делает числовое сложение, если th-е значение является строкой 1
тогда это будет как делать 1+"1"
который вернется 11
Я думаю, что вы ищете это:
$('.switch').click(function () {
var val = parseInt($('#myInput').val());
$('#myInput').val(-val);
});
смотрите здесь