2012-03-16 4 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

+0

Нет .. . Это не дубликат. Я спрашиваю, как изменить размер содержимого поля ввода на ту же ширину, что и текст, введенный пользователем. Я уже изменяю размер, но имею несовершенный метод или уравнение. – KryptoniteDove

ответ

0

Лучший способ, который я нашел до сих пор, - использовать моноширинный шрифт и вручную установить расстояние между буквами в CSS до 0px. Другой популярный метод состоит в том, чтобы создать скрытый или смещенный элемент с содержащимся текстом, получить ширину этого элемента и соответственно установить поле.