Javascript 在输入字段字符串末尾添加特殊字符,jquery自动添加逗号

Javascript 在输入字段字符串末尾添加特殊字符,jquery自动添加逗号,javascript,jquery,css,Javascript,Jquery,Css,我在keyup事件的字符串末尾添加%symbol,首先获取输入字段的当前值,然后拆分(“%”),然后使用以下代码 $('.percent input[type=text]').val(str+'%'); 但这也会在新添加的字符后添加逗号。 我也希望使用css,但条件是不应该使用任何图像,也不应该使用定位。(我可以使用:after或:befor)我认为问题在于拆分功能。 试试这个: $('.percent input[type=text]').on('keyup',function(){

我在keyup事件的字符串末尾添加%symbol,首先获取输入字段的当前值,然后拆分(“%”),然后使用以下代码

$('.percent input[type=text]').val(str+'%');
但这也会在新添加的字符后添加逗号。


我也希望使用css,但条件是不应该使用任何图像,也不应该使用定位。(我可以使用:after或:befor)

我认为问题在于拆分功能。 试试这个:

$('.percent input[type=text]').on('keyup',function(){
            var oldstr=$('.percent input[type=text]').val();
            var str=oldstr.replace('%',''); 
            $('.percent input[type=text]').val(str+'%');        
        });
Javascript
.split()
方法返回逗号分隔的数据,这就是为什么数据是逗号分隔的。 如果您只想删除第一个符号,您可以使用
.substr()
-阅读相关内容


JS Fiddle:

现在有点晚了,但是我忍不住注意到在两个答案中元素的类/类型不断被重用。在“.on”回调函数中使用“this”关键字是否有益/最佳做法如下:

$('.percent input[type=text]').on('keyup',function(){
    var oldstr=$(this).val();
    var str=oldstr.replace('%',''); 
    $(this).val(str+'%');        
});

如果我错了,请纠正我,是的,我在这里很挑剔:)

从输入中去掉那个百分号并放在后面会容易得多it@slash:是的,我知道,但我认为如果我使用自定义样式1将其包含在输入字段中作为我的输入字段,我会很好看。看起来并不好;2.它使用户体验变得复杂
$('.percent input[type=text]').on('keyup',function(){
    var oldstr=$(this).val();
    var str=oldstr.replace('%',''); 
    $(this).val(str+'%');        
});