2011-07-31 65 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)); 
相關問題