銀の弾丸、はじめました

Unityとかガジェットとか

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

普通は

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

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

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

構成

<div id="d">
    <textarea id="ta">hogehoge</textarea>
</div>

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

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用に初期化している


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

過去にも同じ様な事があったのでメモしておく.