2012-03-16 62 views
0

我目前正在重新大小我的输入文本框中键入到他们用下面的代码的内容相匹配:jQuery的剪辑的输入域至输入的内容

var lenStr = $(this).val().length; 
var boxWidth = lenStr * 8.55; 

$(this).css({width:boxWidth}); 

但计算是有缺陷作为值的多个字符的更大的空白空间在输入字段结束时的间隙: -

http://jsfiddle.net/kLKNk/

我想剪辑我的输入字段,使没有空隙或大量的最后的空白处。我在这里看到了一个jQuery fn,它调整了盒子的大小,但是增加了一个舒适的数量,任何人都可以想到一个更好的方程式,我可以使用它吗?

+0

可能重复的[jQuery - 自动大小文本输入(不是textarea!)](http://stackoverflow.com/questions/1288297/jquery-auto-size-text-input-not-textarea) – j08691 2012-03-16 17:30:06

+0

没有.. 。它不是重复的我要求如何重新调整输入字段的大小,使其与用户输入的文本宽度相同。我已经调整了大小,但有一个不完美的方法或等式。 – KryptoniteDove 2012-03-17 19:25:42

回答

0

迄今为止发现的最佳方式是使用等宽字体并手动将CSS中的字母间距设置为0px。另一个流行的方法似乎是创建一个包含文本的隐藏或置换元素,获取该元素的宽度并相应地设置框。