这篇文章将为大家详细讲解有关thinkphp+jquery如何实现ajax多选反选不选删除数据功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
代码如下
《————HTML————》
//thinkphp循环显示把data里fid赋予多选框
<volist name="data" id="vo">
<tr>
<td><input type="checkbox" value="{$vo.fid}"/></td>//可在后面加td输入参数
</tr>
</volist>
<tr>
<th width="80"><input type="checkbox" id="all"/>全选</th>
<th width="80"><input type="button" value="全选" class="btn" id="selectAll" /></th>
<th width="80"><input type="button" value="全不选" class="btn" id="unSelect" /></th>
<th><input type="button" value="反选" class="btn" id="reverse" /></th>
<th width="180">
<a href="javascript:void(0);" rel="external nofollow" onclick="del()" title="删除选定数据">删除</a>
</th>
</tr>
《————jsvascript————》
<script>
//多选
$("#all").click(function(){
if(this.checked){
$("#list :checkbox").attr("checked", true);
}else{
$("#list :checkbox").attr("checked", false);
}
});
//当点到全选按钮
$("#selectAll").click(function () {
$("#list :checkbox,#all").attr("checked", true);
});
//全不选
$("#unSelect").click(function () {
$("#list :checkbox,#all").attr("checked", false);
});
//反选
$("#reverse").click(function () {
$("#list :checkbox").each(function () {
$(this).attr("checked", !$(this).attr("checked"));
});
allCheck();
});
//删除
function del(){
var valArr = new Array;
$("#list :checkbox[checked]").each(function(i){
valArr[i] = $(this).val();
});
var vals = valArr.join(',');//数组转换以逗号隔开的字符串
if (valArr.length == 0) {
alert('请选择要删除的选项');
}else{
if (confirm("确定删除?删除后将无法恢复。")){
var data={name:vals};
$.ajax({
type: "post",
url: "{:U('College/School/faculty_del')}",//url为tp方法(控制器/方法)
data:data,
success: function(json) {
var obj = eval('(' + json + ')');//返回回来的json转化为js对象
if (parseInt(obj.counts) > 0) {
alert(obj.des);
location.reload();
} else {
alert(obj.des);
}
},
error: function(XMLHttpRequest, textStatus) {
alert("页面请求错误,请检查重试或联系管理员!\n" + textStatus);
}
});
}
}
}
</script>
《————PHP————》
public function faculty_del(){
$fid = trim($_POST['name']);
//以下为查询条件
$bname['deletemark'] = 0;
$res = $this->faculty_model
->where(array('fid'=>array('in',$fid)))
->save($bname);
//查询条件为你的查询条件,我这边为逻辑删除,修改字段值就好
// echo $this->faculty_model->getLastSql();
// var_dump($res);
// exit;
if ($res) {
$counts = "1";
$des = "成功";
} else {
$counts = "0";
$des = "失败";
}
$json_data = "{";
$json_data.= "\"counts\":".json_encode($counts).",";
$json_data.= "\"des\":".json_encode($des)."";
$json_data.= "}";
echo $json_data;
exit;
}
由于是异步所以你发过来的数据都在控制台查看,当前页面没输出,不要去页面上去找。
关于“thinkphp+jquery如何实现ajax多选反选不选删除数据功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。