现在我刚刚学习 php 本机中的 MVC 概念,当我想使用 bootstrap 模式更新数据时遇到麻烦。 这是我试图显示我的代码结构的内容:
按钮显示模式
<td class="text-center">
<button type="button" class="btn icon btn-success edit-emp" data-id="<?= $row['id_divisi']; ?>">
</td>
我的模态:
<div class="modal fade" id="edit-emp" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="<?= base_url; ?>/emp/updateemp" method="POST">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalCenterTitle">
Edit Employee
</h5>
</div>
<div class="modal-body">
<div class="col-md-12">
<div class="form-group row align-items-center">
<div class="col-lg-2 col-3">
<label class="col-form-label" for="employee_name">Employee name</label>
</div>
<div class="col-lg-10 col-9">
<input type="text" id="id_emp" name="id_emp">
<input type="text" id="emp_name" class="form-control" name="emp_name" />
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-success ms-1">
save
</button>
</div>
</form>
</div>
</div>
</div>
这是我的 js :
$(document).ready(function() {
$(".edit-dvs").on("click", function() {
var id = $(this).attr("data-id")
$.ajax({
url: BASE_URL + '/emp/edit/' + id,
type: "GET",
dataType: "JSON",
success: function(data) {
$("#id_emp").val(data.id_emp)
$("#emp_name").val(data.emp_namei)
$("#edit-emp").modal("show")
},
})
})
})
这是我的 Emp EmpController 和 EmpModels :
public function edit($id)
{
$data = $this->model('EmpModel')->getEmpById($id)->row_array();
echo json_encode($data);
}
public function getEmpById($id)
{
$this->db->query('SELECT * FROM ' . $this->table . ' WHERE id_emp=:id_emp');
$this->db->bind('id_emp', $id);
return $this->db->single();
}
根据我上面的尝试,我仍然没有成功地显示模式以及发送的 id_emp 数据。我希望有人能告诉我改进我的代码。谢谢你。
我用你的代码做了一个快速测试。
我发现的第一个问题是您正在使用错误的选择器收听 onclick,您有:
$(".edit-dvs").on("click", function() {
但是你的按钮没有那个类:
<button type="button" class="btn icon btn-success edit-emp" data-id="<?= $row['id_divisi']; ?>">
解决这个问题后,模式就开始工作了。
第二个问题是,在您的表单中,您省略了 $base_url 变量中的 $ 字符,您有:
<form action="<?= base_url; ?>/emp/updateemp" method="POST">