如何为 dataTable 中的不同操作选择图像?

Posted

技术标签:

【中文标题】如何为 dataTable 中的不同操作选择图像?【英文标题】:How select images for diferents actions in dataTable? 【发布时间】:2020-05-12 07:36:30 【问题描述】:

我制作了一个数据表,每行包含数据项和两个图标图像,一个用于将项目标记为收藏,另一个图标用于通过单击报告未经授权的项目。所以,有两个不同的动作取决于点击的图标。标记为收藏的jquery代码在里面吗

 $(document).ready(function() 
            var table = $('#myTable').DataTable();
             $('#myTable tbody').on( 'click', 'img', function () 
            //mark as favourite
             

但这对两个图标都有效,我如何区分它们?

【问题讨论】:

【参考方案1】:

您只使用 img 标签来选择它们。你需要添加一个类名来区分动作。

还有一个自定义数据属性,如 data-id 属性,它是我们以后可以用来识别目标项目(数据库 ID)的值,并且可以在您使用 ajax 填充 Datatable() 时添加(like here)或者用 php...

<img src="fav.png" class="fav" data-id="12"><img src="flag.png" class="flag" data-id="13">

在你的脚本中:

         $(document).ready(function() 
                    var table = $('#myTable').DataTable();
                     $('#myTable tbody').on( 'click', '.fav', function () 
                    //mark as favourite 
    //to use the ID of that item you need another row identifier for your function 
    var id=$(this).data('id');
                     
                     $('#myTable tbody').on( 'click', '.flag', function () 
                    //Report that...
    var id=$(this).data('id');
                     
);

【讨论】:

【参考方案2】:

看了https://api.jquery.com/multiple-selector/后找到了解决办法 为图像赋予不同的类名,然后您就可以选择它们。

<img class='fv'>

对于最喜欢的图标和

<img class='cs'>

对于审查图标,您可以相应地选择它们。

$('#myTable tbody').on( 'click', 'img.fv', function () 
        //mark as favourite
         
$('#myTable tbody').on( 'click', 'img.cs', function () 
        //mark as unapropiated
         

就是这样。

【讨论】:

以上是关于如何为 dataTable 中的不同操作选择图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Objective-C 中的每个单元格设置不同的图像?

如何为 DataTable 中的每一行设置/获取自定义数据

在 FirstVC 中选择单元格后,如何为 SecondVC 中的每个单元格调用按钮操作?

如何为数组中的每个创建一个具有唯一图像和选择器的自定义 UIButton?

如何为iCarousel iphone中不同位置的图像实现删除功能

如何为不受支持的客户端将 HTML 电子邮件中的 GIF 替换为不同的图像