У меня есть скрипт, который делает строки моего DataTable интерактивными.
Когда я нажимаю на строку, браузер перемещает меня по адресу: ./test.php?id=
Проблема в том, что у меня есть столбец, в котором есть флажок.Сценарий также перемещает меня к месту, когда я ставлю часы на флажок.
Я хочу сделать второй столбец (цель 1) не «кликабельным».Когда я нажимаю на второй столбец, сценарий не должен указывать мне местоположение: ./test.php?id=
Кто-то знает, как я могу это понять?
Вот мой код:
<script type="text/javascript">
$( document ).ready(function() {
$('grid1').DataTable({
"bprocessing": true,
"serverSide": true,
"ajax": {
"url": "response1.php",
"type": "POST",
"error": function(){
$("#grid_processing").css("display","none");
}
},
"columnDefs": [
{ "targets": 0, "render": function ( data, type, full, meta ) { return ' '+data+' '} },
{ "targets": 1, "render": function ( data, type, full, meta ) { return '<div class="checkbox c-checkbox"><label><input type="checkbox" class="sel1"/><span class="fa fa-check"></span></label></div>'} },
{ "targets": 2, "render": function ( data, type, full, meta ) { return ' '+data+' '} },
{ "targets": 3, "render": function ( data, type, full, meta ) { return ' '+data+' '} },
{ "targets": 4, "render": function ( data, type, full, meta ) { return ' '+data+' '} },
{ "targets": 5, "render": function ( data, type, full, meta ) { return ' '} }
]
});
});
</script>
Вот скрипт, который создает кликабельную строку:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
var table = $('#grid1').DataTable();
$('#grid1').on( "click", "td", function (e) {
var rowIdx = table.row( this ).index();
var sData = table.cells({ row: rowIdx, column: 5 }).data()[0];
if (sData && sData.length) {
location.href = './test.php?id=' + sData;
}
});
});
</script>