从输入中删除最后一个字符
我如何从JQuery中的输入中删除最后一个字符? 例如, onclick
of something,它会从输入字段中删除最后一个字符(在我的例子中为逗号)。
$(input).val( function(index, value){ return value.substr(0, value.length - 1); })
如果你想砍掉任何最后一个字符(不仅仅是逗号,空格),你可以使用slice
:
var $myInput = $('#myInput'); $myInput.val($myInput.val().slice(0, -1));
您可以将它与$.trim()
结合使用以删除多余的空格:
$myInput.val($.trim($myInput.val()).slice(0, -1));
以下作品,虽然它可能有点笨重:
$('#idOfButtonToClick').click( function(){ var inputString = $('#idOfInput').val(); var shortenedString = inputString.substr(0,(inputString.length -1)); $('#idOfInput').val(shortenedString); });
JS小提琴演示 。
修改演示,在截断字符串之前检查最后一个字符是否为字符:
$('#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小提琴演示 。
这两行将从特定输入中删除尾随逗号。 我将由您决定何时需要运行(在更改/按钮点击等)。
var $theInput = $('#myInput'); $theInput.val($theInput.val().replace(/,$/, ''));
如果您还想在最后删除任何可能的空格,请将正则表达式更改为:
/\s*,\s*$/