在我的请假审批系统中,管理员可以使用foreach循环查看员工离职。管理员应该使用离开ID来批准或拒绝离开。我不清楚如何将视图中的离开ID转到我的javascript文件。
<script>
$(function(){
var BASE_URL = "http://localhost/employeemgt/index.php/";
$('#pedingLeaveRequest').on('show.bs.modal', function(event) {
var button = $(event.relatedTarget);
var current_leave_id = button.data('id');
var modal = $(this);
modal.find('input[name="current_leave_id"]').val(current_leave_id);
alert(current_leave_id);
});
$('#approvebtn').click(function(){
var id = $('input[name="current_leave_id"]').val();
alert(id);
$.post(BASE_URL + 'admin/AdminDashboardController/approveLeave',
{'id': id},
function(result){
console.log(result);
if(result.error){
// error
alert('try again');
}else{
// suceess
alert('Leave has been approved!');
}
});
});
});
</script>
这是js文件。变量id无效。
<?php
foreach ($leave as $row) {
echo '
<ul class="list-unstyled">
<li class="media border-bottom border-top py-3">
<img class="mr-3" src="http://via.placeholder.com/64x64" alt="Generic placeholder image">
<div class="media-body">
<h5 class="mt-0 mb-1">'.$row->user_name.'</h5>
<p class="mb-0 mt-0">'.$row->leave_start.' to '.$row->leave_end.'</p>
<p class="mt-0">'.$row->leave_type.'</p>
<p class="mt-0">'.$row->id.'</p>
<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#pedingLeaveRequest">View Request</button>
</div>
</li>
</ul>
';
}
?>
以上是显示给管理员的代码。
以下是模态
<!-- Modal -->
<div class="modal fade" id="pedingLeaveRequest" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Leave Request</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12 mb-3">
<p class="mt-0 mb-1 font-weight-bold">Name</p>
<p class="mt-0 mb-0"><?php echo ''.$row->user_name.' '; ?></p>
</div>
</div>
</div>
<div class="modal-footer">
<input type="hidden" name="current_leave_id" value=""/>
<button type="button" id="declinebtn" class="btn btn-secondary" data-dismiss="modal">Decline</button>
<button type="button" id="approvebtn" class="btn btn-primary">Approve</button>
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
您可以在“onclick”上创建该功能。在该函数中,您可以添加从foreach循环获得的id。但你必须在javascript中创建函数leaveArrove(id)。在该函数中添加您的javascript代码。
试试这个
例: Javascript代码:
function leaveArrove(id){
$.post(BASE_URL + 'admin/AdminDashboardController/approveLeave',
{'id': id},
function(result){
console.log(result);
if(result.error){
// error
alert('try again');
}else{
// suceess
alert('Leave has been approved!');
}
});
}
Html代码:
<div id="showleave">
<h4 class="mb-4">Pending Requests</h4>
<?php
foreach ($leave as $row) {
echo '
<ul class="list-unstyled">
<li class="media border-bottom border-top py-3">
<img class="mr-3" src="http://via.placeholder.com/64x64" alt="Generic placeholder image">
<div class="media-body">
<h5 class="mt-0 mb-1">'.$row->user_name.'</h5>
<p class="mb-0 mt-0">'.$row->leave_start.' to '.$row->leave_end.'</p>
<p class="mt-0">'.$row->leave_type.'</p>
<p class="mt-0">'.$row->id.'</p>
<button type="button" name="addcart" onclick= "leaveArrove(<?php echo $row->id;?>)" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#pedingLeaveRequest" data-id="'.$row->id.'">View Request</button>
</div>
</li>
</ul>
';
}
?>
</div>
答案 1 :(得分:0)
在模态窗口中,您必须添加一个输入来存储当前的假期ID。在你的模态html中添加以下行。
<input type="hidden" name="current_leave_id" value=""/>
如果您还没有模态显示事件处理程序,请添加以下块。它会保存当前的离开ID,因此当单击批准按钮时,它将知道要更新的记录。
$('#pedingLeaveRequest').on('show.bs.modal', function(event) {
var button = $(event.relatedTarget);
var current_leave_id = button.data('id');
var modal = $(this);
modal.find('input[name="current_leave_id"]').val(current_leave_id);
});
在您的第一个代码块中 - #approvebtn点击处理程序..
更改:强>
var id = $(this).attr('data');
要强>
var id = $('input[name="current_leave_id"]').val();