2016-05-10 6 views
1

私はtextareaを持っています。これはjQueryを使用して更新しようとしており、私はどのブラウザを使用しているかによって異なる結果を得ています。Textareaはブラウザ間で同じ方法を更新していません

はこれを見ている:https://jsfiddle.net/JBookham/mwaa6z2f/4/

私が示されているテキストを更新する$('#txtArea').html("Example text");を使用しています。これは、私が試して、テキストエリアに何かを入力するまで、最初は機能します。 Chromeでこれを実行すると、.html()はテキストエリアの値の更新を停止します。私はJavaScriptを通してデバッグして、テキストエリアのinnerHtmlが更新されているが、値は更新されていないことがわかります。私はEdgeとinnerHtmlで同じことをやろうとしており、値は期待通りに更新されます。

私の質問は、これがなぜ起こるのか、誰かがブラウザ間で同じように動作する方法を知っているのですか?

おかげ

更新
.val()テキストエリアにブラウザ間同じように更新していますが、それは私が探していたのと同じ機能を提供していません。しかしthis answerは、私が.val()を使用して、まだそれほどのように、私が渡したテキストを復号化することができるかもしれない方法を持っていた:
var decoded = $("<textarea/>").html("other text &amp;").val(); $('#txtArea').val(decoded);
がより良い方法でもよいが、少なくともために必要があるようですが、少しハック感じブラウザ間で同じように動作するものが私に与えられた瞬間です。

答えて

2

.val()を使用してください。

https://jsfiddle.net/mwaa6z2f/7/

+0

私は)(.val使用して持っているトラブルは、私が渡していたテキスト等&私は(.htmlのためにそれらの中に渡し、"のようなものを含めることができます)と表示されるテキストが正確であるということです私が望むものですが、.val()を使用すると、それは私のために解読されません。私は.val()を使うことができ、私が実際に望むものに文字を置き換えることができる他のソリューションを見てきましたが、それはブラウザ上ではうまくいくが、別のブラウザではうまくいきません。 – JBookham

関連する問題