Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 Jquery UI Datatable:将行添加到以textbox作为列的表中_Javascript_C#_Jquery_Jquery Ui_Datatables - Fatal编程技术网

Javascript Jquery UI Datatable:将行添加到以textbox作为列的表中

Javascript Jquery UI Datatable:将行添加到以textbox作为列的表中,javascript,c#,jquery,jquery-ui,datatables,Javascript,C#,Jquery,Jquery Ui,Datatables,我试图将一行添加到datatable中,但texbox和checkbox作为列并不成功。我可以很容易地添加其他列,但是带有文本框和复选框的列不知道如何添加。文本框和复选框ID将在其类型后面附加第一列值进行计算。我想知道实现这一目标的好方法是什么?我不打算克隆行,因为在某些情况下,我的表可能没有任何数据。有什么想法吗 以下是客户端代码: $(function () { var tableOpts = { "sPaginationType": "full_numbers",

我试图将一行添加到datatable中,但texbox和checkbox作为列并不成功。我可以很容易地添加其他列,但是带有文本框和复选框的列不知道如何添加。文本框和复选框ID将在其类型后面附加第一列值进行计算。我想知道实现这一目标的好方法是什么?我不打算克隆行,因为在某些情况下,我的表可能没有任何数据。有什么想法吗

以下是客户端代码:

$(function () {
    var tableOpts = {
        "sPaginationType": "full_numbers",
        "sScrollY": "150px",
        "bFilter": false,
        "fnCreatedRow": function (nRow, aData, iDataIndex) {
            $(nRow).attr('id', aData[0]);          

            var txtBox = $(nRow).find("input[type=text]");   
            txtBox.attr('id', 'text-' + aData[0]);

            var checkBox = $(nRow).find("input[type=checkbox]");            
            checkBox.attr('id', 'check-' + aData[0]);
        }
    }   
    var table1 = $('#table1').dataTable(tableOpts);        
    $('#divButton').find('.toggle').on('click', function () {                 
         table1.fnAddData([4, 'Windows 7',7.1]);                          
          });
});
以下是您可以尝试的方法:

$(function () {
    var tableOpts = {
        "sPaginationType": "full_numbers",
        "sScrollY": "150px",
        "bFilter": false,
        "fnCreatedRow": function (nRow, aData, iDataIndex) {
            $(nRow).attr('id', aData[0]);          

            var txtBox = $(nRow).find("input[type=text]");   
            txtBox.attr('id', 'text-' + aData[0]);

            var checkBox = $(nRow).find("input[type=checkbox]");            
            checkBox.attr('id', 'check-' + aData[0]);
        }
    }   
    var table1 = $('#table1').dataTable(tableOpts); 
    var textbox = '<input type="text" class="txtBox">';
    var checkbox = '<input type="checkbox">';
    $('#divButton').find('.toggle').on('click', function () {                 
       table1.fnAddData([table1.fnSettings().fnRecordsTotal() + 1, 'Windows 7',7.1, textbox, checkbox]);                          
    });
});
$(函数(){
变量tableOpts={
“sPaginationType”:“完整编号”,
“sScrollY”:“150px”,
“bFilter”:错误,
“fnCreatedRow”:函数(nRow、aData、iDataIndex){
$(nRow).attr('id',aData[0]);
var txtBox=$(nRow).find(“输入[type=text]”);
attr('id','text-'+aData[0]);
var checkBox=$(nRow).find(“输入[type=checkBox]”);
checkBox.attr('id','check-'+aData[0]);
}
}   
var table1=$('#table1')。数据表(tableOpts);
var textbox='';
var复选框=“”;
$('#divButton')。查找('.toggle')。打开('click',函数(){
表1.fnAddData([table1.fnSettings().fnRecordsTotal()+1,'Windows7',7.1,文本框,复选框]);
});
});
这是您的建议。

您可以尝试以下方法:

$(function () {
    var tableOpts = {
        "sPaginationType": "full_numbers",
        "sScrollY": "150px",
        "bFilter": false,
        "fnCreatedRow": function (nRow, aData, iDataIndex) {
            $(nRow).attr('id', aData[0]);          

            var txtBox = $(nRow).find("input[type=text]");   
            txtBox.attr('id', 'text-' + aData[0]);

            var checkBox = $(nRow).find("input[type=checkbox]");            
            checkBox.attr('id', 'check-' + aData[0]);
        }
    }   
    var table1 = $('#table1').dataTable(tableOpts); 
    var textbox = '<input type="text" class="txtBox">';
    var checkbox = '<input type="checkbox">';
    $('#divButton').find('.toggle').on('click', function () {                 
       table1.fnAddData([table1.fnSettings().fnRecordsTotal() + 1, 'Windows 7',7.1, textbox, checkbox]);                          
    });
});
$(函数(){
变量tableOpts={
“sPaginationType”:“完整编号”,
“sScrollY”:“150px”,
“bFilter”:错误,
“fnCreatedRow”:函数(nRow、aData、iDataIndex){
$(nRow).attr('id',aData[0]);
var txtBox=$(nRow).find(“输入[type=text]”);
attr('id','text-'+aData[0]);
var checkBox=$(nRow).find(“输入[type=checkBox]”);
checkBox.attr('id','check-'+aData[0]);
}
}   
var table1=$('#table1')。数据表(tableOpts);
var textbox='';
var复选框=“”;
$('#divButton')。查找('.toggle')。打开('click',函数(){
表1.fnAddData([table1.fnSettings().fnRecordsTotal()+1,'Windows7',7.1,文本框,复选框]);
});
});
这是用于此操作的。

而不是
fnCreatedRow
/
createdRow
。下面是一些如何插入各种
元素的示例:

...    
aoColumnDefs : [
   { aTargets : [1],
     mRender : function(data, type, full) {
        return '<input type="text" value="'+data+'"/>'
     }    
   },
   { aTargets : [2],
     mRender : function(data, type, full) {
        return '<input type="checkbox" checked="checked"/>'
     }    
   },
   { aTargets : [3],
     mRender : function(data, type, full) {
        return '<textarea>'+data+'</textarea>'
     }    
   }
]
。。。
aoColumnDefs:[
{目标:[1],
mRender:功能(数据、类型、完整){
返回“”
}    
},
{目标:[2],
mRender:功能(数据、类型、完整){
返回“”
}    
},
{目标:[3],
mRender:功能(数据、类型、完整){
返回“”+数据+“”
}    
}
]
我们使用了“oldschool”匈牙利符号,它适用于datatables的1.9.x和1.10.x版本。一个小的演示(刚刚添加了
aoColumnDefs
到现有的演示中,除了演示之外,它没有什么意义)->

您应该使用它,而不是
fnCreatedRow
/
createdRow
。下面是一些如何插入各种
元素的示例:

...    
aoColumnDefs : [
   { aTargets : [1],
     mRender : function(data, type, full) {
        return '<input type="text" value="'+data+'"/>'
     }    
   },
   { aTargets : [2],
     mRender : function(data, type, full) {
        return '<input type="checkbox" checked="checked"/>'
     }    
   },
   { aTargets : [3],
     mRender : function(data, type, full) {
        return '<textarea>'+data+'</textarea>'
     }    
   }
]
。。。
aoColumnDefs:[
{目标:[1],
mRender:功能(数据、类型、完整){
返回“”
}    
},
{目标:[2],
mRender:功能(数据、类型、完整){
返回“”
}    
},
{目标:[3],
mRender:功能(数据、类型、完整){
返回“”+数据+“”
}    
}
]

我们使用了“oldschool”匈牙利符号,它适用于datatables的1.9.x和1.10.x版本。一个小的演示(刚刚添加了
aoColumnDefs
到现有的演示中,除了演示之外没有什么意义)->

谢谢你的建议。谢谢你的建议。