2011-07-31 8 views
17

JQuery의 입력에서 마지막 문자를 어떻게 삭제할 수 있습니까? 예를 들어 onclick을 입력하면 입력 필드에서 마지막 문자 (필자의 경우 쉼표)가 삭제됩니다.입력에서 마지막 문자 삭제

답변

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()'. forked : 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)); 
관련 문제