jQueryで.text()が効かない現象にハマった

こんにちは、絶賛実家でニート中のまみたすです。(転職先は決まってます)

もう1ヶ月もブログを書いていないことに気づきさすがに・・・と思ったので、メモ程度ですがこないだハマったjQueryについて。

.textで内容の書き換え

 

やりたかったことは、

  1. プルダウンメニューから項目を選択する
  2. 非同期処理でDBからデータを取得する
  3. 取得したデータをテキストエリアに入れる

と言うなんともシンプルな処理です。

ハマったのはこの3番目の処理で、最初は

{{中略}}

 .done(function(data){
                    $('.textarea').text(data);
                    })

と書いておりました。

が、思うように動かない・・・。
どうなったかと言うと、何にも選んでない初期状態からプルダウンで選択するとちゃんと値が入るのですが、何かしらをテキストエリアに入力してそれを削除してからプルダウン選択すると、何も出ません。

久しぶりにjQuery扱ったこともあって、onChangeが効いてないのだろうか・・・とか1時間くらい詰まってしまいました。

色々調べた結果・・・
こちらの記事にたどり着きました。
jQueryでtextareaタグの値はtext()ではなくval()を使用する

.text()だと直接編集した後は入らないらしい。
と言うわけで、.text()の部分を.val()に変更することで解決!

ブラウザによって効いたり効かなかったりするようですが、また間違えそうなので備忘録的に残しておくことにします。

The following two tabs change content below.
まみたす

まみたす

1992年生まれ。知識ゼロ文系女子からSEになっているところ。 カメラ、猫、お酒、旅行がすきです。
この記事の内容が役に立ったと思ったら、SNSで記事を共有してもらえると幸いです。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)