如何将数组的 AJAX 列数据传递给 JS 函数?

问题描述

我需要将数据从作为数组的 AJAX 数据表列传递给 JS 中的函数

这是我的 script.js

    table = $("#table").DataTable({
        ajax: {
            url: "/Object/GetAllDetail",data: {  },type: 'POST',datatype: "json",dataSrc: "",dataFilter: function (data) {
                var json = jQuery.parseJSON(data);
                json.recordsTotal = json.TotalCount;
                json.recordsFiltered = json.TotalCount;
                json.data = json.list;
                return JSON.stringify(json); // return JSON string
           },},"columns": [
        {
            "data": null,"className": "checkBox","render": function (data,type,full,Meta) {
                var ACT = '<div class="form-check">';
                ACT += '<input type="checkBox" name="CheckBoxDatatbl" onclick="display(' + data.text + ',' + data.ArrayNum + ')"  + ' >';
                ACT += '</div >';
                return ACT;
            }

        }]
    }

    function display(text,array){
         return text + " : " + array;
    }

假设

data.text = "First Row";
data.ArrayNum = [1,3,5];

问题是ajax在进入这样的函数之前将data.ArrayNum转换为数组:

<input type="checkBox" name="CheckBoxDatatbl" **onclick="Sum("First Row",1,5)"** >

所以 display() 只读取 display("First Row",1) 而不是整个数组。

如何加入函数中的所有数组?

解决方法

一个快速的技巧是用 [] 包裹你的数组

 ACT += '<input type="checkbox" name="CheckBoxDatatbl" onclick="Display(' + data.text + ',[' + data.ArrayNum + '])"  + ' >';