我正在尝试使用动态ajax方法重新加载我的表来更改URL。我必须通过手动制作的搜索字段过滤结果。
根据API,我可以使用url()
方法,但它不起作用。我正在使用昨天下载的DataTables 1.10.2。
这是我的代码:
dTable.ajax.url('newurl.php').load();
我从控制台得到的错误是:
TypeError:无法读取未定义的属性“url”
但是如果我为dTable对象做console.log
,我就会得到该对象。所以就在那里。
答案 0 :(得分:4)
显然,DataTables要求在任何事情之前调用api()
函数。我个人从来没有在任何地方的文档中找到这个,只在他们的论坛上找到了。
所以最后的命令必须是:
dTable.api().ajax.url('newurl.php').load();
现在允许此功能成功。
答案 1 :(得分:0)
SELECT
Products_List.ID as "Product ID",
Products_List.meta_value as "SKU",
Products_List.post_name as "Product Name",
Products_List.post_title as "Product Title",
'NO' AS "HAS FEATURED Image"
FROM
Products_List
WHERE
ID NOT IN (
SELECT
Products_List.ID
FROM
Products_List
LEFT JOIN wptt_postmeta ON Products_List.ID = wptt_postmeta.post_id
WHERE
wptt_postmeta.meta_key = '_thumbnail_id'
)
UNION
SELECT
Products_List.ID as "Product ID",
Products_List.meta_value as "SKU",
Products_List.post_name as "Product Name",
Products_List.post_title as "Product Title",
'YES' AS "HAS FEATURED Image"
FROM
Products_List
LEFT JOIN wptt_postmeta ON Products_List.ID = wptt_postmeta.post_id
WHERE
wptt_postmeta.meta_key = '_thumbnail_id'
...现在在DataTables v1.10中实际上是正确的,如下所述:
https://datatables.net/reference/api/ajax.url%28%29
,其目的与您的目的相同:即时更改数据源位置(例如向URL添加自定义搜索参数)。
我已经在我自己的应用中实现了这一功能,可以进行动态自定义结果过滤,而且效果非常好。