以下のコードの$mytextareaのスコープがgetAnswerToo()関数に拡張されない理由を誰かに教えてもらえますか?
getAnswer()は、更新する要素を明示的に選択しているため、機能します。ただし、グローバルな「ハンドラー」変数を使用しようとしても機能しません。
変数のスコープに関するこの問題は、jQueryオブジェクトを保持しているという事実に特に関連していると思います。もう1つの変数myurlは正常に機能します。
どんな助けでも大歓迎です!
var myurl = "php/getAnswer.php";
var $mytextarea = null; // a handler for the textarea element
$mytextarea = $('textarea#mytextarea');
getAnswerToo();
function getAnswer(){ // works
var request = $.ajax({
url: myurl,
type: "POST",
data: {question: questionId, user: userId},
dataType: "html",
success: function(data) {
$('textarea#mytextarea').val(unescape(data));
}
});
}
function getAnswerToo(){ // doesn't work
var request = $.ajax({
url: myurl,
type: "POST",
data: {question: questionId, user: userId},
dataType: "html",
success: function(data) {
$mytextarea.val(unescape(data));
}
});
}