У меня есть таблица в mysql, которая содержит имя, адрес электронной почты и номер мобильного телефона. Я отображаю эту таблицу как таблицу данных, а значения для заполнения таблицы отображаются с помощью сценария PHP. Для каждой строки в таблице я также включил флажок в качестве одного из столбцов. Ниже приведен код:
interviewerQuery = "select Name,emailid,mobileno from interviewerInvite where clientId=(select idclientLogin from clientLogin where clientLoginName='$usrname')";
$intQuery = mysqli_query($connect, $interviewerQuery);
<div class="row">
<div class="col-lg-8 col-md-8 col-sm-8">
<form method = "POST" id='addinvestigators'>
<div class="table-responsive">
<table class="table table-bordered" id="interviewrSelectTable" width="100%" cellspacing="0">
<thead>
<tr>
<td>NO</td>
<td>NAME</td>
<td>EMAIL ID</td>
<td>MOBILE NO</td>
<td>SELECT</td>
</tr>
</thead>
<tbody>
<?php
$count=1;
while ($row = mysqli_fetch_array($intQuery)) {
echo "<tr style='min-height:20px'>";
echo "<td style='text-align:center;height:20px' id='count'>$count</td>";
echo "<td id='firstName'>".$row['Name']."</td>";
echo "<td id='emailid'>".$row['emailid']."</td>";
echo "<td id='mobileno'>".$row['mobileno']."</td>";
echo "<td style='text-align:center'><input style='width:20px;height:16px' type='checkbox' id='".$row['emailid']."' name='chxbx' value='".$row['emailid']."' > </td>";
echo "</tr>";
$count++;
}
?>
</tbody>
</table>
</div>
<div class="row">
<div class="col-lg-4 col-md-4 col-sm-4">
<input type="button" name="data" onclick="includeInterviewers()" class="btn-primary" style="height:35px" value="ADD INTERVIEWERS TO PROJECT"/>
</div>
<div class="col-lg-4 col-md-4 col-sm-4">
</div>
<div class="col-lg-4 col-md-4 col-sm-4">
</div>
</div>
Чтобы отобразить таблицу в виде таблицы данных, я использую следующее:
$(document).ready(function() {
var table = $('#interviewrSelectTable').DataTable( {
columnDefs: [
{ width: '10%', targets: 0 },
{ width: '30%', targets: 1 },
{ width: '30%', targets: 2 },
{ width: '20%', targets: 3 },
{ width: '10%', targets: 4 },
],
fixedColumns: true,
searching:true,
info:false,
lengthChange:false,
draw:false,
responsive:true,
pageLength:10
} );
} );
Приведенный выше код отображает таблицу, и на каждой странице имеется 10 записей. Основываясь на строке, по которой щелкают флажки в таблице, при нажатии кнопки (не приведенной здесь) я запускаю функцию для захвата идентификатора электронной почты в массиве и отправки массива в сценарий php для другая таблица для дальнейшего хранения.
var email = [];
$(document).ready(function () {
$("input[name='chxbx']").change(function() {
var checked = $(this).val();
if ($(this).is(':checked')) {
email.push(checked);
}else{
email.splice($.inArray(checked, email),1);
}
});
});
function includeInterviewers() {
var eml = JSON.stringify(email);
if (projectVal && email.length > 0) {
$.post('addInvestigatorsToProject.php', {'project':projectVal,'email':eml}, function(dat) {
alert(dat);
//document.getElementsByName("chxbx").checked = false;
})
} else if(!projectVal) {
alert("Please select a project!");
} else if(email.length == 0) {
alert("You must select atleast 1 interviewer!");
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что, когда я нажимаю на флажок на второй странице, они не возвращают идентификатор электронной почты, связанный со строкой, и сохраняют отображение сообщения об ошибке, которое я вызвал через Javascript, когда ни одна из строк не выбрана ..