この記事では、php (Thinkphp) jquery をベースにした ajax の複数選択、反転、データ削除機能の実装に関する関連情報を主に紹介します。必要な方は以下を参照してください。
JS の基礎があり、 jquery と thinkphp を理解している方は、これ以上苦労することなく、次のコードをご覧ください。
>
//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 中国語 Web サイトをご覧ください。
関連する推奨事項:
thinkPHP3.2.3 と Laypage を組み合わせてページング機能を実現
ThinkPHP と Ajax でセカンダリ リンケージを実現ドロップダウン メニュー
anti-ajax プッシュに基づく、PHP によって実装されたリアルタイム メッセージ プッシュ機能
#
以上がThinkphp と jquery をベースに、ajax の複数選択、選択の反転、データの削除の機能を実現します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。