JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享

效果展示:

代码实现:

控制器

<?php
namespace app\controllers;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\filters\VerbFilter;
use app\models\LoginForm;
use app\models\ContactForm;
//use yii\db\ActiveRecord;
use yii\data\Pagination;
use app\models\EcsGoods;
class PageController extends Controller
{
//public $layout=false;
//展示,分页
public function actionList()
{
$query = EcsGoods::find();
$pagination = new Pagination([
'defaultPageSize' => 5,
'totalCount' => $query->count(),
]);
$countries = $query
->offset($pagination->offset)
->limit($pagination->limit)
->all();
return $this->render('list', [
'brr' => $countries,
'pagination' => $pagination,
]);
}
//即点即改
public function actionUpdates()
{
$request = Yii::$app->request;
$id = $request->get('old_id');
$name = $request->get('old_val');
$connection=Yii::$app->db;
$command = $connection->createCommand("update ecs_goods set goods_name='$name' where goods_id='$id'");
$re=$command->execute();
if($re)
{
echo 1;
}
}
//单删
public function actionDel()
{
$request = Yii::$app->request;
$id = $request->get('ids');
$connection=Yii::$app->db;
$command = $connection->createCommand("delete from ecs_goods where goods_id='$id'");
$re=$command->execute();
if($re)
{
echo 1;
}
else
{
echo 0;
}
}
//批删
public function actionAlldel()
{
$request = Yii::$app->request;
$id = $request->get('new_str');
$connection=Yii::$app->db;
$command = $connection->createCommand("delete from ecs_goods where goods_id in($id)");
$re=$command->execute();
if($re)
{
echo 1;
}
else
{
echo 0;
}
}
}
视图层
[html] view plain copy 在CODE上查看代码片派生到我的代码片
<?php
use yii\helpers\Html;
use yii\widgets\LinkPager;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>循环数据</title>
</head>
<style>
table{
background-color: pink;
}
.dels{
border: 1px solid red;
font-family:楷体;
background-color: white;
}
.trs{
background-color: red;
}
</style>
<body>
<center>
<p>
<input type="checkbox" value="全选" onclick="check_qx(this);">全选
<input type="checkbox" value="全不选" onclick="check_bx(this);">全不选
<input type="checkbox" value="反选" onclick="check_fx();">反选
<input type="button" value="批量删除" onclick="check_del();">
</p>
<table border="1">
<tr class="trs">
<td><input type="checkbox" onclick="check_qx(this);"></td>
<td>商品ID</td>
<td>商品名称</td>
<td>操作</td>
</tr>
<?php
foreach($brr as $val)
{
?>
<tr>
<td><input type="checkbox" name="check[]" value="<?php echo $val['goods_id']?>"></td>
<td><?php echo $val['goods_id']?></td>
<td><span class='num' id="<?php echo $val['goods_id']?>"><?php echo $val['goods_name']?></span></td>
<td><a href="javascript:void(0)" id="<?php echo $val['goods_id']?>" onclick="del(this);" class="dels">删除</a></td>
</tr>
<?php
}
?>
</table>
<?= LinkPager::widget(['pagination' => $pagination]) ?>
</center>
</body>
</html>
<script src="jq.js"></script>
<script type="text/javascript">
$(function(){
$(document).on('click','.num',function(){
var id=$(this).attr('id');
var _this=$(this);
var new_val=$(this).html();
_this.parent().html("<input type='text' class='asdf' value="+new_val+" id="+id+">");
var inp=$('.asdf');
inp.focus();
inp.blur(function(){
var old_id=$(this).attr('id');
var old_val=$(this).val();
$.get("index.php?r=page/updates",{old_val:old_val,old_id:old_id},function(e){
if(e==1)
{
inp.parent().html("<span class='num' id="+old_id+">"+old_val+"</span>");
}
else
{
inp.parent().html("<span class='num' id="+old_id+">"+new_val+"</span>");
}
})
})
})
})
//单删
function del(obj)
{
var ids=obj.id;
ajax=new XMLHttpRequest();
ajax.onreadystatechange=function()
{
if(ajax.readyState==4)
{
//alert(ajax.responseText);
if(ajax.responseText==1)
{
obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
}
else
{
alert("删除失败");
}
}
}
ajax.open("get","index.php?r=page/del&ids="+ids);
ajax.send(null);
}
//全选
function check_qx(obj)
{
//alert(32432);
var ids=document.getElementsByName("check[]");
//alert(ids);
if(obj.checked)
{
for(var i=0;i<ids.length;i++)
{
ids[i].checked=true;
}
}
}
//全不选
function check_bx(obj)
{
var ids=document.getElementsByName("check[]");
if(obj.checked)
{
for(var i=0;i<ids.length;i++)
{
ids[i].checked=false;
}
}
}
//反选
function check_fx()
{
var ids=document.getElementsByName("check[]");
for(var i=0;i<ids.length;i++)
{
ids[i].checked=!ids[i].checked;
}
}
//批量删除
function check_del()
{
var ids=document.getElementsByName("check[]");
var str='';
for(var i=0;i<ids.length;i++)
{
if(ids[i].checked)
{
str=str+','+ids[i].value;
}
}
new_str=str.substr(1);
ajax=new XMLHttpRequest();
ajax.onreadystatechange=function() {
if (ajax.readyState == 4) {
//alert(ajax.responseText);
if(ajax.responseText==1)
{
for(var j=ids.length-1;j>=0;j--)
{
if(ids[j].checked)
{
ids[j].parentNode.parentNode.parentNode.removeChild(ids[j].parentNode.parentNode);
}
}
}
else
{
alert("删除失败");
}
}
}
ajax.open("get","index.php?r=page/alldel&new_str="+new_str);
ajax.send(null);
}
</script>

以上所述是小编给大家介绍的JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • javaScript checkbox 全选/反选及批量删除

    前台代码 复制代码 代码如下: <script type="text/javascript"> var a; function CheckAll(){ if(a==1) { for(var i=0;i<window.document.form1.elements.length;i++) { var e = form1.elements[i]; e.checked =false; } a=0; } else { for(var i=0;i<window.docum

  • javascript 复选框选择/全选后特效

    运行效果 @charset "utf-8"; .content form { margin:0; } table { border:1px solid #CCC; background:#E4E4E4; } td { border-top:1px solid #CCC; background:#FFF; font-size:12px; } th,td,.quantity { text-align:center; font-family:Arial, Helvetica, sans-se

  • JS实现CheckBox复选框全选、不选或全不选功能

    CheckBox控件表明一个特定的状态(即选项)是选定 (on,值为1) 还是清除 (off,值为0).在应用程序中使用该控件为用户提供"True/False"或"yes/no"的选择.因为 CheckBox 彼此独立工作,所以用户可以同时选择任意多个 CheckBox,进行选项组合. CheckBox复选框JS实现全选.不选.全不选功能,很简单,具体内容如下 思路: 1.获取元素 2.给全选 不选 反选添加点击事件 3.用for循环checkbox 4.把chec

  • JS实现复选框的全选和批量删除功能

    如图示: 功能描述:在勾选了全选时,所有的商品都会勾选,在取消全选时,取消所有物品的勾选.如果点击批量删除,删除所勾选的商品. <td align="center" width="12%" > <input type="checkbox" id="allChecks" onclick="ckAll()" /> 全选/全不选 </td> //全选 function ckAl

  • JS实现CheckBox复选框全选全不选功能

    CheckBox控件就是我们一般所说的复选框,通常用于某选项的打开或关闭.大多数应用程序的"设置"对话框内均有此控件.我们看到的可以打勾的就是CheckBox. 该控件表明一个特定的状态(即选项)是选定 (on,值为1) 还是清除 (off,值为0).在应用程序中使用该控件为用户提供"True/False"或"yes/no"的选择.因为 CheckBox 彼此独立工作,所以用户可以同时选择任意多个 CheckBox,进行选项组合. CheckBo

  • 通过js来制作复选框的全选和不选效果

    复制代码 代码如下: <html> <head> <title>制作全选效果</title> <script language="javascript"> function selectAll(){ allcheckBoxs=document.getElementsByName("a"); var a2=document.getElementsByName("a1"); if(a2[0]

  • js与jQuery实现checkbox复选框全选/全不选的方法

    本文实例讲述了js与jQuery实现checkbox复选框全选/全不选的方法.分享给大家供大家参考,具体如下: 先来看看JavaScript实现checkbox复选框全选/全不选的方法.这应该是一个比较实用的前端技巧吧,很多时候我们都需要点击一个checkbox,然后将所有的复选框自动全部选中,比如新浪邮箱中,一些CMS系统的后台中,使用本JS效果后,会大大增强了操作体验,那么究竟是如何实现这一功能的呢?别着急,跟我一步一步实现. 我们先把那些带复选框的列表弄好,还没加全选.全不选时候的状态,大

  • JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享

    效果展示: 代码实现: 控制器 <?php namespace app\controllers; use Yii; use yii\filters\AccessControl; use yii\web\Controller; use yii\filters\VerbFilter; use app\models\LoginForm; use app\models\ContactForm; //use yii\db\ActiveRecord; use yii\data\Pagination; use

  • Yii框架中jquery表单验证插件用法示例

    本文实例讲述了Yii框架中jquery表单验证插件用法.分享给大家供大家参考,具体如下: 运行效果图如下: 视图层: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

  • YII框架中使用memcache的方法详解

    本文实例讲述了YII框架中使用memcache的方法.分享给大家供大家参考,具体如下: yii中可以很方便的使用memcache 一.配置 在main.php的components中加入cache配置 array( 'components'=>array( 'cache'=>array( 'class'=>'CMemCache', 'servers'=>array( array( 'host'=>'server1', 'port'=>11211, 'weight'=&g

  • Yii框架中memcache用法实例

    本文实例讲述了Yii框架中memcache用法.分享给大家供大家参考.具体分析如下: 在现在的公司用的是YII的框架,接触到的东西也比较多,可以学到的东西也比较多,在以前的公司没有接触过memcache,只是听过,但是从来没有真正用过.现在终于有机会使用一下了,就以我做的项目为例吧! 我做的项目是一个手机排行榜,但是排行榜每隔15分钟刷新一次啊,排行榜有一个前三名,可能前15分钟这三个人是前三名,也许下一个15分钟又是别人前三名了,产品要求,这些人中只要是前三名的都要发奖品,思考了好久,最终决定

  • YII框架中搜索分页jQuery写法详解

    控制层 use frontend\models\StudUser; use yii\data\Pagination; use yii\db\Query; /** * 查询 * */ public function actionSearch() { //接值 $where=Yii::$app->request->get(); //实例化query $query=new Query(); $query->from('stud_user'); //判断 if(isset($where['sex

  • Android 中解决Viewpage调用notifyDataSetChanged()时界面无刷新的问题

    Android 中解决Viewpage调用notifyDataSetChanged()时界面无刷新的问题 问题描述 相信很多做过Viewpager的人肯定遇到过这个问题,这个是bug还是Android就是如此设计的,我们不做讨论.总之,它确实影响我们功能的实现了. 可能不少同学选择为Viewpager重新设置一遍适配器adapter,达到刷新的目的.但是这种方法在大多数情况下,是有问题的. 解决办法 以我们可以尝试着修改适配器的写法,覆盖getItemPosition()方法,当调用notify

  • Yii框架中sphinx索引配置方法解析

    本文实例讲述了Yii框架中sphinx索引配置方法.分享给大家供大家参考,具体如下: 请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库 #源定义 source mysql { type = mysql sql_host = localhost sql_user = root sql_pass = root sql_db = yii2 sql_port = 3306 sql_query_pre = SET NAMES utf8 sql_query

  • 实例讲解如何在PHP的Yii框架中进行错误和异常处理

    Yii已经默认已经在CApplication上实现了异常和错误的接管,这是通过php的set_exception_handler,set_error_handler实现的.通过这两个PHP内置函数,可以对程序中未捕获的异常以及错误进行接管处理,从而提高程序的可维护性.这在大型系统是至关重要的,当发生错误时,我们希望能将相关详细信息记录,甚至是即时发送报警,从而缩短故障修复时间,提高整个系统的稳定性. 默认情况下,Yii会将异常处理分配给CApplication::handleException,

  • Yii框架中使用PHPExcel的方法分析

    本文实例分析了Yii框架中使用PHPExcel的方法.分享给大家供大家参考,具体如下: PHPExcel是一个比较好用的php读取excel文件的类库,今天遇到了在yii中如何加载PHPExcel类文件的问题,因为Yii的autoload机制是安装类名去找文件,即文件名就是相应的类名,而PHPExcel的类文件命名方式则是:dir_dir_classname.php,即文件名把文件的目录名都记录了,这种命名方式yii肯定识别不了.怎么办? 其实PHPExcel也有自己的autoload方法(PH

  • python中redis查看剩余过期时间及用正则通配符批量删除key的方法

    具体代码如下所示: # -*- coding: utf-8 -*- import redis import datetime ''' # 1. redis设置过期时间的两种方式 expire函数设置过期时间为10秒.10秒后,ex1将会失效 expireat设置一个具体的时间,15年9月8日15点19分10秒,过了这个时间,ex2将失效 如果设置过期时间成功会返回True,反之返回False ''' pool = redis.ConnectionPool(host='192.168.3.128'

随机推荐