web-dev-qa-db-ja.com

jQuery-textareaからユーザー入力テキストを削除する

さて、編集するデバイスを選択できるデバイスのリストがあります。編集できる状態は3つあります。デバイスが選択されていない場合、1つのデバイスが選択されている場合、またはx個のデバイスが選択されている場合。

私が持っている問題は、ユーザーがテキストエリア(commentField)にテキストを入力し、別のデバイスを編集するために編集をキャンセルした場合、テキストエリアに入力されたテキストが破棄されないことです。新しい編集用の新しいダイアログを取得すると、commentfieldには古いcommentFieldのテキストが含まれている(まるでクリアされていないかのように)

次のコードを試してテキストを削除しました(キャンセルボタンが押されたときと新しいダイアログを開始したときの両方)。

$("#commentField").text(" ");
$("#commentField").value = ' ';

JQueryを使用してtextareaからユーザー入力テキストを削除する方法を知っている人はいますか?

前もって感謝します。

-ソー

19

あなたが探しているのは .val()

$("#commentField").val('');

例:http://jsfiddle.net/andrewwhitaker/q6eLV/

61
Andrew Whitaker

textareaは入力フィールドであるため、valueプロパティがあるため、val()メソッドを使用する必要があります。これを試して

$("#commentField").val('');
3
ShankarSangoli

JQueryでは実際には$("#commentField").val(" ");です

1
Ali

次のように、textareaからテキストを削除できます。

_$("#commentField").html("");
_

編集:わかりました、これは機能しませんが、理由については本当に興味があります。私は反対票を理解しています。 textareaタグの間のテキストはinnerHTMLであり、html()はそれを置き換えることになっているといつも思っていました。入力のようなtextareaを持つことは理にかなっていないでしょうか?それとも、textareasに引用符の間に粘着性があるように見える長いテキストが含まれているからでしょうか。

通常のJavaScriptをinnerHTMLで使用すると、FF6で動作します。 ここにデモ

0
Uku Loskit