Jquery Bind Keyup问题

时间:2012-04-26 19:28:26

标签: jquery

我有一个文本框,用%输入一个数字。我想要做的是,当用户输入他的数字时,应该在末尾附加'%'符号。所以如果在1.23中有一个类型,他应该看到的是: - 1% - > 1.% - > 1.2% - > 1.23%。这就是我写的

$('#price').bind('keyup',function(){
    val1 = $(this).val();
    val2 = val1.substr(0,val1.length-1);
    $(this).val(val2+'%');
});

问题是如果我输入'%',则在附加%符号后光标进入,因此在1%之后。 val1 =“1%”。最终结果是1 %%。有些帮助吗?如果您可以告诉我如何将光标放在%或原始问题的其他解决方案之前。非常感谢

2 个答案:

答案 0 :(得分:3)

在文本字段中添加百分号会提供糟糕的用户体验。

您最好使用背景图片,或在文本框之后添加百分号,可选择将其定位为似乎放置在框内。< / p>

答案 1 :(得分:1)

是的,将内容放在用户输入中非常难看。你最好标记这个领域。如果您认为必须,请查看有关设置光标位置的此问题。

Set cursor position in an input text field