Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向数据表中的单个td添加多个值?_Javascript_Jquery_Input_Datatables_Add - Fatal编程技术网

Javascript 向数据表中的单个td添加多个值?

Javascript 向数据表中的单个td添加多个值?,javascript,jquery,input,datatables,add,Javascript,Jquery,Input,Datatables,Add,我试图通过文本输入向数据表添加信息。通常,使用fnAddData向DataTables添加数据,如下所示: $('.home').dataTable().fnAddData([ $("#fName").val(), $("#lName").val() ]); 但问题是,我需要的是来自同一td中这两个输入的值,而不是不同的tds。大致如下: $('td:first').text($("#fName").val() + ' ' + $("#lName").val()); …我只是不知

我试图通过文本输入向数据表添加信息。通常,使用fnAddData向DataTables添加数据,如下所示:

$('.home').dataTable().fnAddData([
   $("#fName").val(),
   $("#lName").val()
]);
但问题是,我需要的是来自同一td中这两个输入的值,而不是不同的tds。大致如下:

$('td:first').text($("#fName").val() + ' ' + $("#lName").val());
…我只是不知道如何正确地附加到数据表。您可以看到,我将信息添加到表中,但这并没有附加分页,也没有正确地添加到数据表中。有什么想法吗?提前谢谢


您可以将名字和姓氏的值合并为传递给
fnAddData
方法的第一个数组项。每个数组项表示表中的一列

$('#example').dataTable().fnAddData([
   $("#fName").val() + $("#lName").val(),
   $("#email").val(),
   $("#company").val() + '<br>' + $('#address').val()
]);
$('#示例').dataTable().fnAddData([
$(“#fName”).val()+$(“#lName”).val(),
$(“#email”).val(),
$(“#公司”).val()+”
“+$(“#地址”).val() ]);

请参见此处的工作版本:

我可以推荐一种使用javascript数组的不同方法吗

从您的示例中,HTML表变为:

<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>
以及守则:

var thedata = [
    {
        name: "John Smith",
        email: "jsmith@company.com",
        address: "Company\n123 Seseme Street\nHouston, TX 77388 USA"
    },
    {
        name: "Jane Doe",
        email: "jdoe@company.com",
        address: "Company\n123 Seseme Street\nHouston, TX 77388 USA"
    }
];

var thetable = $('#example').dataTable({
    aaData: thedata,
    aoColumns: [
        { sTitle: "Name", mData: "name" },
        { sTitle: "Email", mData: "email" },
        { sTitle: "Address", mData: "address", sClass: "address"}
    ]
});

$('#addRow').click(function () {
    thetable.fnAddData({
        name: $("#fName").val() + ' ' + $("#lName").val(),
        email: $("#email").val(),
        address: $("#company").val() + '\n' + $("#address").val()
    });
});

请注意,您可以创建一个不同的对象,并对某些数据中的每一列使用渲染函数,但对于一个答案,我认为这就足够了。

Whoa。这比我预想的要容易得多。谢谢
var thedata = [
    {
        name: "John Smith",
        email: "jsmith@company.com",
        address: "Company\n123 Seseme Street\nHouston, TX 77388 USA"
    },
    {
        name: "Jane Doe",
        email: "jdoe@company.com",
        address: "Company\n123 Seseme Street\nHouston, TX 77388 USA"
    }
];

var thetable = $('#example').dataTable({
    aaData: thedata,
    aoColumns: [
        { sTitle: "Name", mData: "name" },
        { sTitle: "Email", mData: "email" },
        { sTitle: "Address", mData: "address", sClass: "address"}
    ]
});

$('#addRow').click(function () {
    thetable.fnAddData({
        name: $("#fName").val() + ' ' + $("#lName").val(),
        email: $("#email").val(),
        address: $("#company").val() + '\n' + $("#address").val()
    });
});