我该如何在 JQuery 中删除输入的最后一个字符?例如,通过点击某个元素的
onclick
事件,从输入框中删除最后一个字符(在我的情况下是逗号)。onclick
事件,从输入框中删除最后一个字符(在我的情况下是逗号)。$(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);
});
修改版演示,检查字符串被截断前的最后一个字符是否为,
:
$('#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;
});
var $theInput = $('#myInput');
$theInput.val($theInput.val().replace(/,$/, ''));
/\s*,\s*$/
$(document).on('click', '.backspace', function(){
let value = $('#output').val();
console.log(value);
v = value.slice(0,-1);
let v = value.slice(0,-1);
console.log(v);
$('#output').value(value);
});
function back_space() {
var arrayexit = document.getElementById("tbtwo").value;
for (var i = 0; i < arrayexit.length; i++)
{
var output = arrayexit.slice(0, -1);
document.getElementById("tbtwo").value = output;
}
}
HTML 代码
<input oninput="remove(this.value)" type="text" id="mytext" />
Js 代码
function remove(val) {
document.querySelector("#mytext").value = val.slice(0, -1);
}
$("#idOfInput")
并在val()
中使用函数来轻松优化它。分支:http://jsfiddle.net/gWMDT/1/ - Yahel