在 boostrap modal 中发送的 php 值不正确



我有一个表,使用codeigniter显示数据库中的值。当我单击一行的按钮时,会出现一个模态,其中包含一个具有表格行值的表单。问题是,如果我单击第一行,第二行值将发送到模态,如果我单击第二行,则第三行值将发送到模态。我该如何解决这个问题?

<table>
<?php 
foreach($EMPLOYEES as $employee) {
$employee = (object)$employee;
?>
<tr>
<td><?=$employee->id_acd;?></td>
<td><?=$employee->nombre;?></td>
<td><?=$employee->apellido;?></td>
<td>
<button data-toggle="modal"
data-target="#myModal"
data-employee-id="<?=$employee->id_acd;?>">
</button>
</td>
</tr>
<?php } ?>
</table>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<form name="myModalTitle" id="myModalTitle" method="post" action="<?php
echo site_url('user_Authentication/user_login_process');?>">
<div> 
<label>Nombre:</label>
<input name="nombre" value="{{nombre}}" disabled>
</div>
<div class="form-group">
<label>Apellido:</label>
<input type="text" class="form-control" name="apellido"
value="{{apellido}}" disabled>
</div>
<p>
<button> Enviar </button>
</p>
</form>
<script>
var employees = <?=
json_encode(
$EMPLOYEES
); ?>;
(function($){
var myModalTitle = $( '#myModalTitle' );
var myModalTitleText = myModalTitle.html();
var myModal = $( '#myModal' );
var btnOpenMyModal = $( '.btn-open-my-modal' );
btnOpenMyModal.on('click', function() {
var btn = $( this );
var currentEmployees = employees[parseInt( btn.data( 'employee-id' ) )];
myModalTitle.html(
.replace( '{{nombre}}', currentEmployees.nombre )
currentEmployees.telefono )
);
});
}(jQuery));
</script>

由此我想$EMPLOYEES是一个索引数组。在大多数语言中,它是零索引的,这意味着第一个元素是$EMPLOYEES[0]

如果employee-id只是数组的索引,则将+1添加到此行:

var currentEmployees = employees[parseInt(btn.data('employee-id'))+1];

这称为逐一错误,非常常见。

最新更新