JQuery Mobile textarea: как он использует атрибут "строки"?

Я хотел бы динамически генерировать textareas, с jQuery Mobile, с различным количеством строк. Я намеревался использовать нокаут для этого, привязку данных к

6 ответов


jQM усиливает textarea путем добавления различных классов для целей отзывчивости и стиля. Самый быстрый и простой способ сохранить rows высота путем переопределения класса jQM.

демо

решение CSS:

.custom_class {
  height: auto !important; /* !important is used to force override. */
}

JS решение-установить высоту после textarea усиливается.

setTimeout(function () {
  $('textarea').css({
    'height': 'auto'
  });
}, 0);

все, что вам нужно... добавьте это

textarea.ui-input-text { height: inherit !important}

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

Если вы хотите переопределить этот размер, когда он пуст, у вас есть два варианта:

  1. используйте упомянутый метод Omar, который должен отключить роль JQM, как вы сделали в Примере JSFiddle.

  2. другой переопределите класс по умолчанию,как видно из ответа.


У меня была такая же проблема, и я наконец нашел решение. вы можете установить 'data-autogrow= "false "' в элементе textarea, после этого вы можете установить атрибут строк или высоту в css. он работает в jQuery mobile 1.4.0+


содержимое текстовой области автоматически прокручивается, когда больше строк. максимальный рост, как пожелаете. Добавить css

 textarea.size{max-height:30px;}

 <textarea name="textarea-1" id="textarea-1" style="max-height:30px;">

Вы можете использовать это : data-autogrow="false"
такой : <textarea rows="10" name="textarea-2" id="textarea-2" data-autogrow="false"></textarea>