2011-07-31 32 views

回答

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

感谢您的回答,它非常好用,很容易 – BNN

5

下面的作品,尽管它也许有点麻烦:

$('#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

+0

+1用于回答问题,但是,您可以通过使用单个$(“#idOfInput”)'并使用'val中的函数()'。叉:http://jsfiddle.net/gWMDT/1/ – Yahel

4

这两行将删除特定输入中的尾随逗号。我会留给你决定什么时候需要运行(更改/点击按钮等)。

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

如果你也想在年底摆脱任何可能的空白,改变正则表达式是:

/\s*,\s*$/ 
+0

谢谢这个答案吨。 –

7

如果你想砍任何最后一个字符(不只是逗号,空间),你可以使用slice

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

你可以用$.trim()结合起来,以除去多余的空格:

$myInput.val($.trim($myInput.val()).slice(0, -1)); 
相关问题