列表自定义信息状态修改,任何地方都可以,需要的可以收藏,代码回复就可以看到。
html部分
<div class="line">注册状态:<a href="javascript:;" onclick="register('.$data['id'].','.$info['0']['register'].')">'.$info_register.'</a></div>
PS:由于我这里是用来修改当前数据的状态,所以register()方法中$data['id']和$info['0']['register']分别是对应当前信息的id以及他的数据库中存在的信息
js部分
PS:像我图中所示那样,一条信息中有多个对应的状态要修改的话,就可以在新增函数,只需要改html部分onclick部分的函数名称,以及js部分中新建对应函数中
的变量URL中的var url = '{dr_url(APP_DIR.'/home/status_edit')}&status=register'中的register,它代表字段名称
<script>
function register(data, state) {
var url = '{dr_url(APP_DIR.'/home/status_edit')}&status=register'; //status是用来传递要修改的字段名称
layer.open({
type: 1,
title: '{dr_lang('是否修改状态')}',
id: 'import',
shadeClose: true,
shade: 0,
btn: ['确定','否'],
btnAlign: 'c' ,//按钮居中
yes: function(index, layero){
if (layero) {
$.ajax({
url: url,
type: "POST",
dataType: "json",
data: {
id: data,
state : state,
{csrf_token()} : "{csrf_hash()}"
},
success: function(data){
if (data.code == 1){
layer.msg('<span style="color: #fff">状态更新成功!</span>');
setTimeout("window.location.reload(true)", 1000);
}
},
error: function(data){
if (data.code == 0){
layer.msg('<span style="color: #fff">状态更新成功!请重试!</span>');
setTimeout("window.location.reload(true)", 1000);
}
}
});
layer.close(index);
}else {
return false;
}
}
});
}
</script>
php部分
public function status_edit(){
$status = $this->request->getGet('status');
$id = $this->request->getPost('id');
$state = $this->request->getPost('state');
$data = empty($state) ? 1 : 0;
$update = \Phpcmf\Service::M()->db->table(SITE_ID.'_student')
->where('id', $id)
->update([
$status => $data
]);
if ($update){
return json_encode(['code' => 1]);
}else{
return json_encode(['code' => 0]);
}
}
---------------------------------
-------------------------------------------
研究一下
研究一下
看看研究