3

このタイプの質問は、すぐに反対票を獲得する傾向があります。答えがあれば、助けてください!ありがとう。

DOM にテキストエリアを追加するスクリプトがあります。データを入力して後で取得しようとすると、値が空になります。

これにより、テキストエリアの値が正常に設定されます。

$("textarea").each(function(){
    $(this).val("ASDFASDF");
});

これにより、テキストエリアの css background プロパティが正常に設定されます。

$("textarea").each(function(){
    $(this).css({"border":"2px solid red"});
});

しかし、これは値を返しません:

$("textarea").each(function(){
    alert($(this).val());
});

私は .text()、.html()、.value を試しました - それらはすべて何も返しません! 「未定義」または null を警告するのではなく、単に空の値を警告します。

理由がわかりません。

提案をお寄せいただきありがとうございます。

より詳しい情報

HTML は次のとおりです。

<textarea id="Bio" rows="4"></textarea>

JQuery ライブラリ: http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js

関数は、dom がロードされた後にボタンによってトリガーされます。

コードの簡略版はこちら: http://social-gamer.com/textarea.html

4

3 に答える 3

4

問題はIDの重複に終わった。通常、私はこれを最初にチェックしますが、IDで要素にアクセスするのではなく、単に入力タイプ「textarea」でアクセスしていました。

したがって、クラスまたはDOM内の位置によって要素をターゲットにする場合でも、IDが重複していると、失敗します。IDで取得していなかったので、以前はあまり考えていませんでした。

于 2013-01-30T23:32:05.257 に答える
4

それは機能しますが、他の何かが問題です。あなたはそれがここで働いているのを見ることができます

<textarea>Hello One</textarea>
<textarea>Hello One two</textarea>
<textarea>Hello One two three</textarea>

$("textarea").each(function(){
    alert($(this).val());
});
  • jQuery のどのバージョンを使用していますか?
  • DOM がロードされる前にコードが実行されていますか?
  • HTML はどのように見えますか? テキストエリアに値属性を割り当てていますか? それは機能しません。http://jsfiddle.net/2bjLJ/1/を参照してください

その他の注意事項

each基礎となるすべてのオブジェクトでメソッドを呼び出したい場合は必要ありません。

$("textarea").each(function(){
    $(this).val("ASDFASDF");
});

$("textarea").each(function(){
    $(this).css({"border":"2px solid red"});
});

それはただすることができます

$("textarea").val("ASDFASDF");
$("textarea").css({"border":"2px solid red"});

ただし、それを読み取るときは、それぞれを呼び出す必要があります。そうしないと、jQuery コレクションの最初のオブジェクトから値が取得されます。

実施例

于 2013-01-30T22:28:55.553 に答える
0

元気ですか、

聞いてください、TextArea は val() で値を取得および設定しない唯一の入力です。なぜなら、textarea に値を入れるときはタグの中に入れるからです。

例があります

<textarea>Inside is the content so to 
get the content inside of tags you use HTML or TEXT</textarea>

したがって、データを取得しようとするときは、次のことを行う必要があります。

$('textarea').text();

テキストエリアのデータを設定するには、次のようにします。

$('textarea').text("HERE'S THE CONTENT.");

ここにフィドルがあります。私が言っていることをすべて見ることができます

http://jsfiddle.net/nfTVJ/

頑張って、さようなら

于 2013-01-30T23:46:03.400 に答える