2013-09-16 9 views
0

ОПИСАНИЕКак исправить Textarea Авто-Grow внутри Accordian

Использование фондовых JQuery мобильных вариантов.

текстового поля автоматически расти сценарий не автоматически расти, когда он:

а) Внутри FIELDSET accordain И

б) имеет содержание внутри на странице загрузки.

разбитого КОД

<div data-role="fieldcontain"> 
     <label for="ta2">Broken:</label> 
     <textarea id="ta2" name="ta2" cols="40" rows="4"> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam mi augue, tristique non orci non, interdum ultrices enim. Donec est erat, eleifend euismod tortor vel, feugiat egestas magna. 
     </textarea> 
    </div> 

СМ проблема:http://jsfiddle.net/epLaT/4/

ответ

2

Высота не регулируется, потому что во время создания, текстовое поле является невидимым (потому что он находится в сложенном контейнере) и поэтому расчет высоты, основанный на видимой высоте, не может быть применен.

Решение состоит в том, чтобы вручную называть настройку высоты, когда текстовое поле становится видимым. Я продемонстрировал решение your fiddle. Соответствующие изменения для прослушивания расширяемого события контейнера (это где текстовое поле становится видимым), а затем, чтобы вызвать вычисление высоты, имитируя нажатие клавиши:

$('fieldset').on("collapsibleexpand", function(event, ui) { //Listen for the event 
    $(this).find("textarea").keyup(); //simulate key press 
}); 
+1

Совершенных благодаря Маркусам. Но я больше не размахиваю своей скрипкой, моя миссис не одобрит. – Obsidian