Как я могу удалить последний символ из ввода в JQuery? Например, onclick
чего-то, он удаляет последний символ (запятую в моем случае) из поля ввода.
Удаление последнего символа с ввода
Ответ 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);
});
Пересмотренная демонстрация, которая проверяет, что последний символ является символом ,
, прежде чем обрезать строку:
$('#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;
});
Ответ 4
Эти две строки удаляют конечную запятую с определенного входа. Я оставлю это для вас, чтобы решить, когда нужно его запустить (при щелчке на кнопке "Изменить/на кнопку" и т.д.).
var $theInput = $('#myInput');
$theInput.val($theInput.val().replace(/,$/, ''));
Если вы также хотите избавиться от любых возможных пробелов в конце, измените регулярное выражение на это:
/\s*,\s*$/