【发布时间】:2019-09-27 03:02:44
【问题描述】:
在我的函数中,我使用了一个变量(链接),当单击该行中的元素时,该变量(链接)从我的datatable 中的一行获取ID 值,以便在Ajax URL 中使用。然后在悬停时,引导弹出窗口打开以显示另一个表中与ID 值匹配的数组。
这第一次完美运行,但我需要为datatable 中的每一行重新启动该函数。目前它只是不断显示我点击的第一个元素的数组。
数据表列
{ data: null,
render: function ( data, type, row ) {
if (data.imagecount3.count == null){
return '<div style=" width:100%; font-size:13px; text-align:left;">0 / 0</div>'}
else if (data.imagecount3.count == data.filecounter.Counter) {
return '<div style=" width:100%; font-size:13px; color:#1ABB9C; font-weight:bold; text-align:left;">'+data.filecounter.Counter+' / '+data.imagecount3.count+'</div>'}
else {
return '<div style=" width:100%; font-size:13px; text-align:left;"><a data-toggle="popover" href="ajax.php?var='+data.macleanf.id+'" class="ajax_link">'+data.filecounter.Counter+' / '+data.imagecount3.count+'</a></div>'}
}},
PHP 连接
<?php
$con=mysqli_connect("localhost","XXXX","XXXX","company");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// escape variables for security
$var = mysqli_real_escape_string($con, $_GET['var']);
$sql=$con->query("SELECT Title FROM tblgalleryimages2 WHERE GalleryID='$var'");
//fetch tha data from the database
while ($row = $sql->fetch_array()) {
echo $row{'Title'};
}
mysqli_close($con);
?>
脚本
$('#yamba_overview').on( 'click', 'a.ajax_link', function (e) {
e.preventDefault();
var link=$(this).attr('href');
$.ajax({ //Make the ajax request
url: link,
cache: false
}).done(function(html) { //On complete run tooltip code
$('[data-toggle="popover"]').popover(
{title: "Missing Documents",
trigger: "hover",
content: html});
});
});
【问题讨论】:
-
显示如何填充数据列。
-
我已更新数据表代码以包含该列的整个代码。该列渲染良好,数据表使用自己的 PHP 连接器来渲染表格
-
如果呈现的元素具有各自的 id,您能否使用开发工具进行检查。因为看起来你的代码没问题。
-
当我在不同行(不同的 macleanf.id 值)上单击“a.ajax_link”属性后预览 ajax 请求时,它会返回该行的正确数据。但是,弹出窗口中的 html 不会更改,仅显示我单击的第一行的数据,而不是为每次单击重新启动函数。有什么建议吗?
标签: javascript jquery datatables single-page-application