以下是我的剧本
function allresultscount(thisurl) {
$.ajax({
type: "GET",
dataType: "xml",
url: thisurl,
success: function(data) {
if ($(data).find('atom\\:entry, entry').length !== 0) {
$(data).find('atom\\:entry, entry').each(function() {
countall++;
});
}
$("#resultscount").text(countall);
var pagecount = countall / 2;
for (var i = 1; i <= pagecount; i++) {
$('<a class="page_link" onclick="formurl(' + i + ')" longdesc="0" style="display: inline-block;">' + i + '</a>').insertBefore('.next_link');
}
}
});
}
function formurl(i) {
alert(i);
}
这里试图在ajax成功回调中调用函数formurl()。这两个功能都已准备就绪。
但是我得到了formurl()未定义的错误。我怎么这样做?
答案 0 :(得分:-1)
你可以但是必须在ready()方法的范围内调用它们,否则当ready()方法退出时它们会失去范围。
例如,以下代码可以使用:
$(document).ready(function(){
function formurl()
{
alert('Bar');
}
formurl(); // still in the scope of the ready method
});
ajax完成后,您的新元素将在DOM中呈现。现在你在ready()事件之外。在您的情况下,您可以在ready()事件
之外定义您的函数function formurl()
{
alert('Bar');
}
$(document).ready(function(){
// fire ajax here
});