使用按钮实时将活动更改为非活动



我正在使用DataTables和ajax,使用PHP CodeIgniter框架。我在将"活动"按钮切换到"非活动"按钮时遇到问题,反之亦然。

我想要的是:

当我单击"活动"按钮时,它应该实时更改为"非活动",而不刷新页面。

控制器:

function activateStatus() {
$id = $this->uri->segment(3);
$data = array(
'status' => 1
);
$this->equip_model->updateAccount('equip', $data, array('id' =>$id));             
}
function deactivateStatus() {
$id = $this->uri->segment(3);
$data = array(
'status' => 0
);
$this->equip_model->updateAccount('equip', $data, array('id' =>$id));             
}

视图:

<table class="table table table-hover table-bordered" id="equipmain">
<thead>
<tr>
<th>ID</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<?php 
foreach ($equip as $row){
?>
<tr>
<td style="display: none;"><?= $row->id ?></td>
<td align="center">
<?php 
$status = $row->status;
if($status  == "1") { ?>                                    
<button id="<?php echo $row->id ?>" class="btn btn-xs green-jungle statusupdate1">&#10003</button>
<?php } else  { ?>                                    
<button id="<?php echo $row->id ?>" class="btn btn-xs red-flamingo statusupdate0" >&#10005</button>
<?php } ?>           
</td>
</tr>
</tbody>
</table>

AJAX:

var oTable =  $('#equipmain').DataTable( {
"searching": false,        
"processing":true,
"columnWidth": 20,                 
"serverSide": true,
"autoWidth": true,
}); 
$(document).on('click', '.statusupdate0', function() {
var id = $(this).attr("id");
$.ajax({
url: "<?= base_url() ?>Admin/activateStatus/" + id,
success: function (data) {
oTable.ajax.reload();
}
});
});
$(document).on('click', '.statusupdate1', function() {
var id = $(this).attr("id");
$.ajax({
url: "<?= base_url() ?>Admin/deactivateStatus/" + id,
success: function (data) {                     
oTable.ajax.reload();
}
});
});

我不知道为什么按钮不工作的错误在哪里。

可能是base_url()调用后缺少分号(;(。在这两个按钮的AJAX部分中,尝试将<?= base_url() ?>更改为<?= base_url(); ?>,看看这是否解决了问题。

相关内容

  • 没有找到相关文章

最新更新