Я хотел изменить время регистрации для каждого переключателя, который я меняю. Моя проблема в том, что при изменении любого из них я изменяю только время проверки 1-й строки. Если кто-нибудь может помочь с моей проблемой.
Обновление: хотел изменить время проверки, когда я изменяю первую строку, время проверки первой строки будет обновлено или задан текст и так далее ... 2-й переключатель изменяет время проверки 2-й строки ... 3-й .. и так далее . Спасибо.
<script>
$(document).ready(function () {
$('.checkin-button').click(function(e){
if ($(this).is(':checked')){
var famid = $(this).closest('tr').find('input[name = "famno"]').val();
var a = this.checked ? 1 : 0;
$.ajax({
type: 'POST',
url: 'checkdep.php',
data: {famid: famid}
}).done(function(res){
console.info(res);
if (res == 1 ){
var date = //the date **wanted to pass date to TIMEEMP. Since I still dont know how to and how to give value to the var with dd/mm/yyyy HH:mm:ss a format.
$('timeemp').text/html(date) **confused here
}else{
alert('Check-in failed');
}
});
}else{
});
</script>
<html>
<tr>
<td><?php echo $no; ?></td>
<td><?php echo $company; ?></td>
<td><?php echo $branch; ?></td>
<td><a href = "empmain.php?access=view&photos=<?php echo $photos;?>&lname=<?php echo $lname; ?>&fname=<?php echo $fname; ?>&empid=<?php echo $empid;?>&empno=<?php echo $empno;?>"><span class = "glyphicon glyphicon-user" aria-hidden = "true"></span><?php echo $empid;?></a></td>
<td><?php echo $depthead; ?></td>
<td id = "timeemp"><?php echo $timecheck; ?></td>
<td>
<div class = "form-group">
<form id = "empform" action = "" method = "post">
<?php
$userid='1';
if ($userid == '1'){
if ($row['Status'] == ''){
echo'
<div class = "form-group">
<div class = "col-md-12 col-sm-12 col-xs-12">
<div class = "">
<label>
<input type = "checkbox" class = "js-switch checkemp-button" />
<input name = "emp" value = "'.$empno.'" type = "hidden" />
</label>
</div>
</div>
</div>';
}
else{
echo '<div class = "form-group">
<div class = "col-md-9 col-sm-9 col-xs-12">
<div class = "">
<label>
<input type = "checkbox" class = "js-switch checkemp-button" checked />
<input name = "emp" value = "'.$empno.'" type = "hidden" />
</label>
</div>
</div>
</div>';
}
}
else{
}
?>
</form>
</div>
</td>
</tr>
</html>
Обновлено @ZakariaAcharki



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте следующий обновленный код.
$('.checkin-button').click(function(e){
if ($(this).is(':checked')){
var famid = $(this).closest('tr').find('input[name = "famno"]').val();
var a = this.checked ? 1 : 0;
var selectedRow = $(this).closest('tr'); // Updated
$.ajax({
type: 'POST',
url: 'checkdep.php',
data: {famid: famid}
}).done(function(res){
console.info(res);
if (res == 1 ){
var date = //the date **wanted to pass date to TIMEEMP. Since I still dont know how to and how to give value to the var with dd/mm/yyyy HH:mm:ss a format.
selectedRow.find('#timeemp').text(date); // Updated
}else{
alert('Check-in failed');
}
});
}else{}
});
Спасибо за ответ, очень признателен. Теперь мне нужно установить дату для var date = в формате мм / дд / гггг чч: мм: сс am / pm.
Не могли бы вы привести примерное значение того, как вы получаете ответ с датой и в каком формате вы хотите отобразить?
Я хотел присвоить значение var date в сценарии: например, 30.10.2018 11:21:30 AM, которое совпадает с датой и временем компьютера или текущими датой и временем.
@Efren, из-за длинного текста я прокомментировал ниже как еще один ответ, пожалуйста, проверьте его.
Если вы хотите использовать текущее системное время, вы можете получить его с помощью «date = new Date ()». Но по умолчанию вы получите полную строку даты. Если вам нужно преобразовать его в собственный формат, вы можете использовать любой из следующих способов.
1) Вы можете использовать moment.js => это будет полезно для получения даты в настраиваемом формате, а также вы можете конвертировать на основе часового пояса
2) Вы можете получить дату (как в заданном формате), используя javascript, с помощью следующей функции
function getDateString(){
var currentDate = new Date();
var month = currentDate.getMonth() + 1;
if (month<=9)
month = "0" +month;
var date = currentDate.getDate();
if (date<=9)
date = "0" +date;
var hours = currentDate.getHours();
var meridian = "AM";
if (hours>=12){
hours= hours % 12;
meridian = "PM"
}
if (hours<=9){
hours = "0"+hours;
}
var minutes = currentDate.getMinutes();
if (minutes<=9)
minutes = "0" +minutes;
var seconds = currentDate.getSeconds();
if (seconds<=9)
seconds = "0" +seconds;
return month+"/"+date+"/"+currentDate.getFullYear()+" "+hours+":"+minutes+":"+seconds+ " "+meridian;
}
Добавьте свой HTML-код, пожалуйста