Php Laravel DataTables多选复选框
我正在用DataTables在Laravel中开发一个应用程序,在这里我显示Mysql数据库中的数据。如何对每个选择使用线条颜色进行多重选择?与此类似,但有多个选择,如何从所选行获取值而不仅仅是行id,以及如何在单击该行的相应按钮时获取当前行值 最后一列的每个按钮打开一个带有提交按钮的表单,提交功能适用于所有蓝色按钮 这是该应用程序的屏幕截图: 以下是代码:Php Laravel DataTables多选复选框,php,mysql,laravel,checkbox,datatables,Php,Mysql,Laravel,Checkbox,Datatables,我正在用DataTables在Laravel中开发一个应用程序,在这里我显示Mysql数据库中的数据。如何对每个选择使用线条颜色进行多重选择?与此类似,但有多个选择,如何从所选行获取值而不仅仅是行id,以及如何在单击该行的相应按钮时获取当前行值 最后一列的每个按钮打开一个带有提交按钮的表单,提交功能适用于所有蓝色按钮 这是该应用程序的屏幕截图: 以下是代码: $(document).ready(function() { $('#pdr_table').DataTable({ "proc
$(document).ready(function() {
$('#pdr_table').DataTable({
"processing": true,
"serverSide": true,
"ajax": "{{ route('ajaxdata.getdata') }}",
"columns":[
{ "data": "checkbox", orderable:false, searchable:false},
{ "data": "ID_Piece" },
{ "data": "Designation" },
{ "data": "Status" },
{ "data": "action"}
],
//"order": [[ 0, "asc" ]],
'rowCallback': function(row, data, index){
if(data.Status == 'Disponible'){
$(row).find('td:eq(3)').css('background-color', 'green').css('color', 'white');
}
if(data.Status == 'Indisponible'){
$(row).find('td:eq(3)').css('background-color', 'red').css('color', 'white');
}
}
});
$(document).on('click', '.Ajouter_au_panier', function(){
$('#pdrModal').modal('show');
$('#pdr_form')[0].reset();
$('#form_output').html('');
$('#piece').text('PDR');
});
$(document).on('click', '.pdr_checkbox', function(){//How to color the entire line and get all the values of that line
});
$('#pdr_form').on('submit', function(event){//How to get all the values for the line of that button
event.preventDefault();
var form_data = $(this).serialize();
$.ajax({
url:"{{ route('ajaxdata.postdata') }}",
method:"get",
data:form_data,
dataType:"json",
success:function(data)
{
if(data.error.length > 0)
{
var error_html = '';
for(var count = 0; count < data.error.length; count++)
{
error_html += '<div class="alert alert-danger">'+data.error[count]+'</div>';
}
$('#form_output').html(error_html);
}
else
{
$('#form_output').html(data.success);
$('#pdr_form')[0].reset();
$('#pdr_table').DataTable().ajax.reload();
}
}
})
});
控制器:
function getdata()
{
$pdrs = Pdrs::select('ID_Piece', 'Designation', 'Status');
return DataTables::of($pdrs)
->addColumn('checkbox', '<input type="checkbox" name="pdr_checkbox[]" class="pdr_checkbox" value="{{$ID_Piece}}" />')
->rawColumns(['checkbox','action'])
->addColumn('action', function($pdr){
return '<a href="#" class="btn btn-xs btn-primary Ajouter_au_panier" id="'.$pdr->ID_Piece.'"><i class="glyphicon glyphicon-shopping-cart"></i> Ajouter au panier</a>';})
->make(true);
}
你可以用
select: {
style:'multi',
},
如果您不打算使用样式:'multi'
在样式“os”下使用CTRL+Select进行多项选择,
如您提供的链接中的文档所示。
然后,您可以在ajax click函数中的选中复选框上分别执行$。并形成要提交给控制器的数据变量。
此外,请遵循文档的代码
$('#someSubmitButton').on('submit', function(e){
//Place submit button within the form
var form = this;
//Define your dataTable to a variable - here it is table
var rows_selected = table.column(0).checkboxes.selected();
// Iterate over all selected checkboxes
$.each(rows_selected, function(index, rowId){.... Your other code goes
here based on how you want to handle.....}
你是如何决定这些颜色的,因为有不同的颜色显示图像?我的意思是当点击复选框时悬停线条只是一种颜色,它可以区分选中的线条和未选中的线条。你没有实现你提供的链接中的任何代码。你需要在你的配置中添加一个select属性。我提供的链接仅供理解。我更新了我的帖子,请看一看。你能提供工作代码$'pdr_table'.DataTable吗{…我正在从控制器手动添加复选框,这段代码对我不起作用。它仍然有效,$。无论您是从控制器加载数据,还是由datatable为您加载数据,每个都不介意。这只是一个脚本,您需要将它放入submit函数中,形成数据变量并传递到ajax函数中。如果您正在生成手动选中复选框,不要引用datatable链接,这对您没有多大帮助。要标记行,您必须调用onclick函数..并更改行背景颜色的css属性。在$'pdr_form'之后。在$'submit'上,functionevent{和$.ajax{之前,以及我如何编写示例项变量