基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能

建议有js基础,了解jquery,thinkphp,废话不说多下面就上代码

《————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;

}

由于是异步所以你发过来的数据都在控制台查看,当前页面没输出,不要去页面上去找。

以上所述是小编给大家介绍的基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是 基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能 的全部内容, 来源链接: utcz.com/z/314129.html

回到顶部