Подтвердить что ты не робот

Удаление последнего символа с ввода

Как я могу удалить последний символ из ввода в JQuery? Например, onclick чего-то, он удаляет последний символ (запятую в моем случае) из поля ввода.

4b9b3361

Ответ 1

$(input).val(
    function(index, value){
        return value.substr(0, value.length - 1);
})

Ответ 2

Если вы хотите нарезать любой последний символ (а не просто запятую, пробел), вы можете использовать slice:

var $myInput = $('#myInput');
$myInput.val($myInput.val().slice(0, -1));

Вы можете объединить его с $.trim(), чтобы удалить лишние пробелы:

$myInput.val($.trim($myInput.val()).slice(0, -1));

Ответ 3

Следующие работы, хотя это, возможно, немного неуклюжие:

$('#idOfButtonToClick').click(
    function(){
        var inputString = $('#idOfInput').val();
        var shortenedString = inputString.substr(0,(inputString.length -1));
        $('#idOfInput').val(shortenedString);
    });

JS Fiddle demo.

Пересмотренная демонстрация, которая проверяет, что последний символ является символом ,, прежде чем обрезать строку:

$('#idOfButtonToClick').click(
    function(){
        var inputString = $('#idOfInput').val();
        if (inputString.charAt(inputString.length - 1) == ',') {
            var shortenedString = inputString.substr(0,(inputString.length -1));
        $('#idOfInput').val(shortenedString);
        }
        return false;
    });

JS Fiddle demo.

Ответ 4

Эти две строки удаляют конечную запятую с определенного входа. Я оставлю это для вас, чтобы решить, когда нужно его запустить (при щелчке на кнопке "Изменить/на кнопку" и т.д.).

var $theInput = $('#myInput');
$theInput.val($theInput.val().replace(/,$/, ''));

Если вы также хотите избавиться от любых возможных пробелов в конце, измените регулярное выражение на это:

/\s*,\s*$/