Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Ширина поля input text в зависимости от количества символов (https://javascript.ru/forum/xhtml-html-css/39082-shirina-polya-input-text-v-zavisimosti-ot-kolichestva-simvolov.html)

rekon87 14.06.2013 19:46

Ширина поля input text в зависимости от количества символов
 
Здравствуйте, нужна помощь. Ситуация следующая - на сайте установлен JQuery UI Slider - два поля input слайдер 1 + слайдер 2, в третье поле я считаю
var all = $("#all").val();
var money = $("#money").val();
$("div#budgetRub").val( Number(all) * Number(money) * 30 + ' Руб');

и вывожу
<input value="0" name="budgetRub" id="budgetRub" readonly type="text">

Подсчет суммы работает, проблема в оформлении поля input - не могу сделать резину, то есть имеется блок div, в нем поле input с выводом итоговой суммы, проблема в том, что если указывать ширину фиксированной большой, при малом количестве символов input справа остается незаполненное место.
Как сделать чтобы если в input символ 1 то сделать size="1", символов 2 - size="2" и т.д.
Возможно ли вывести сумму не в текстовое поле, а в блок div или span например?

Deff 14.06.2013 21:14

var value=Number(all) * Number(money) * 30 + ' Руб'
var size = value.length;
$("#budgetRub").attr('size',size)
$("#budgetRub").val(value);

danik.js 14.06.2013 22:34

Цитата:

Сообщение от rekon87
малом количестве символов input справа остается незаполненное место

Пропиши input{text-align: right} , текст выровняется по правой стороне.
Цитата:

Сообщение от rekon87
Возможно ли вывести сумму не в текстовое поле, а в блок div или span например?

Конечно можно.

rekon87 14.06.2013 22:46

Возможно ли вывести сумму не в текстовое поле, а в блок div или span например?Конечно можно.
каким образом?
я вывожу
<input value="0" name="budgetRub" id="budgetRub" readonly type="text">

пробовал
<div id="budgetRub"></div>
- не выводит

rekon87 14.06.2013 22:48

Цитата:

Сообщение от danik.js (Сообщение 256415)
Пропиши input{text-align: right} , текст выровняется по правой стороне.

мне нужно по левой стороне, прописывал
input{text-align: left}
не помогает

rekon87 14.06.2013 22:51

получается вот-так:

danik.js 14.06.2013 22:51

Цитата:

Сообщение от rekon87
мне нужно по левой стороне, прописывал
input{text-align: left}
не помогает

Оно ведь и так по дефолту по левой выравнивается.
<!DOCTYPE html>
<input type="text" value="123" />

Цитата:

Сообщение от rekon87
пробовал
<div id="budgetRub"></div>
- не выводит

Тут надо не val(), а text() вызывать.

rekon87 14.06.2013 22:55

Цитата:

Сообщение от danik.js (Сообщение 256415)
Пропиши input{text-align: right} , текст выровняется по правой стороне.

Конечно можно.

Цитата:

Сообщение от danik.js (Сообщение 256421)
Оно ведь и так по дефолту по левой выравнивается.
<!DOCTYPE html>
<input type="text" value="123" />


Тут надо не val(), а text() вызывать.

Огромное спасибо, все получилось


Часовой пояс GMT +3, время: 23:22.