编辑: 似乎此问题仅发生在Chrome中。 Firefox很好。
Footable是一个JQuery插件。 https://fooplugins.com/plugins/footable-jquery/
以下功能由" Footable"插件使.table类有一个很好的布局。 :
jQuery('.table').footable({
"columns": result,
"rows": response
});
我想在AJAX调用中运行该函数:
$.get('../php/campaignmanagement.php', function(response){
response = JSON.parse(response);
var columns = Object.keys(response[0]);
var result = columns.map(x => {
return {
title: x,
name: x
}//end return
});
//FUNCTION HERE
jQuery('.table').footable({
"columns": result,
"rows": response
});
//FUNCTION ABOVE
......... Other irrelevant code...
});
这给了我以下错误:
jQuery(...).footable is not a function
但是,如果我将函数移到AJAX函数之外,它就会起作用。
e.g。
//FUNCTION HERE
jQuery('.table').footable({
"columns": result,
"rows": response
});
//FUNCTION ABOVE
$.get('../php/campaignmanagement.php', function(response){
response = JSON.parse(response);
var columns = Object.keys(response[0]);
var result = columns.map(x => {
return {
title: x,
name: x
}//end return
});
......... Other irrelevant code...
});
我需要能够在AJAX中运行该函数。 为什么AJAX会导致一切破裂?
仅供参考:HTML文档正在调用这样的脚本:( campaignmanagement.js是运行上述功能的文件)
<script src="../vendors/jquery/jquery.js"></script>
<script src="../vendors/footable/js/footable.js"></script>
<script src="../vendors/foundation 6/foundation.js" type="text/javascript"></script>
<script src="../js/campaignmanagement.js"></script>
答案 0 :(得分:1)
您在这里使用了两个不同的jQuery对象,第一个是$
(除非您已将此分配给我们看不到的其他内容)和jQuery
。您可以在其自身内部使用$
对象,或者获取AJAX请求闭包中可用元素的引用。
// grab a reference to the table using jquery
var table = $('.table')
$.get('../php/campaignmanagement.php', function(response){
response = JSON.parse(response);
var columns = Object.keys(response[0]);
var result = columns.map(x => {
return {
title: x,
name: x
}//end return
});
table.footable({
"columns": result,
"rows": response
});
});