jQuery
jQueryMobile

iOS SafariにjQuery Mobileでtextareaに改行込みの値をセットする

普通は

sample.js
$('#TEXTAREA').val('値');

で,セットできるが,改行込みになるとiOS Safari等で改行されない事がある.

\n\r\n で置換してもダメ

構成

sample2.html
<div id="d">
    <textarea id="ta">hogehoge</textarea>
</div>

ここの hogehogefuga(改行)fuga に変更したい.

JSでの処理
sample2.js
$('#d').empty();
$('#d').html('<textarea id="ta">fuga\r\nfuga</textarea>');
$('#ta').textinput();

これで改行込みでtextareaに(を)セットできる(iOS Safariでも改行されて表示される)

解説

1行目でtextareaを削除し
2行目でfuga(改行)fuga込みでtextareaを新設
3行目でjQuery Mobile用に初期化している


もっと,上手い方法があったような気がするけどググっても見つけられなかった…