gpt4 book ai didi

jquery - 持有 jQuery 对象的变量范围(通过选择器)不是全局的

转载 作者:行者123 更新时间:2023-12-01 04:18:23 33 4
gpt4 key购买 nike

谁能告诉我为什么下面代码中 $mytextarea 的范围没有扩展到 getAnswerToo() 函数中?

getAnswer() 之所以有效,是因为我明确选择了要更新的元素。但是,尝试使用全局“处理程序”变量是行不通的。

我假设变量范围的问题与它保存一个 jQuery 对象这一事实特别相关。另一个变量 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));
}
});

}

最佳答案

这个放在哪里?

$mytextarea = $('textarea#mytextarea');

选择器在 DOM 初始化时起作用。这应该有效:

$(function() {     
$mytextarea = $('textarea#mytextarea');
getAnswerToo();
});

关于jquery - 持有 jQuery 对象的变量范围(通过选择器)不是全局的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12844510/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com