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

效果展示:

代码实现:

控制器

<?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框架中操作)的代码分享,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js全选和反选
js删除
javascript全选反选、jquery全选反选、js全选和反选、jq全选反选、复选框全选 反选,以便于您获取更多的相关知识。

时间: 2024-08-30 23:31:57

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

手机开发必备技巧:javascript及CSS功能代码分享_javascript技巧

1. viewport: 也就是可视区域.对于桌面浏览器,我们都很清楚viewport是什么,就是出去了所有工具栏.状态栏.滚动条等等之后用于看网页的区域, 这是真正有效的区域.由于移动设备屏幕宽度不同于传统web,因此我们需要改变viewport; 实际上我们可以操作的属性有4 个: 复制代码 代码如下: width -             //  viewport 的宽度 (范围从200 到10,000,默认为980 像素) height -            //  viewpor

JavaScript中实现map功能代码分享_javascript技巧

/*   * MAP对象,实现MAP功能   *   * 接口:   * size()     获取MAP元素个数   * isEmpty()    判断MAP是否为空   * clear()     删除MAP所有元素   * put(key, value)   向MAP中增加元素(key, value)    * remove(key)    删除指定KEY的元素,成功返回True,失败返回False   * get(key)    获取指定KEY的元素值VALUE,失败返回NULL   *

javascript修改表格背景色实例代码分享_javascript技巧

复制代码 代码如下: <html> <script> //点击当前选中行的时候设置当前行的颜色,同时恢复除当前行外的行的颜色及鼠标事件 function selectRow(target) {      var sTable = document.getElementById("ServiceListTable")      for(var i=1;i<sTable.rows.length;i++) //遍历除第一行外的所有行      {        

JavaScript计算器网页版实现代码分享_javascript技巧

JavaScript网页计算器代码,该计算器是用DW写的!HTML篇 <html <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>计算器</title> <link href="style/calculator.css" rel="stylesheet&quo

javascript suggest效果 自动完成实现代码分享_javascript技巧

首先,用到的框架当然是我的框架mass Framework,当然你用其他框架也可以,如jQuery,没有什么复杂的东西.只要弄懂原理,一下子就能搞出来.想必,以后你们工作也遇到做搜索框的活儿. 由于本人没有后端,因此取用一个对象作为本地数据库.而我现在要做的,其实远远比suggest高级,类似IDE的语法提示的东西.当前成品已放到github上. 好了,我们动手吧.首先是结构层,装了FF的同学可以在百度首页查看源码,当输入几个字母时,会动态生成了那些HTML.不过怎么也好,其成就是一个DIV放到

Javascript实现获取窗口的大小和位置代码分享_javascript技巧

在Javascript中可以使用OuterWidth,OuterHeight 获取浏览器的大小.用 innerWidth,innerHeight 来获取窗口的大小(除去浏览器边框部分).对于IE6 及之前版本,要区分是标准模式,还是混杂模式.标准模式使用document.documentElement.clientWidth,document.documentElement.clientHeight:混杂模式使用document.body 的clientWidth,clientHeight. 复

Javascript模拟加速运动与减速运动代码分享_javascript技巧

加速运动,即一个物体运动时速度越来越快:减速运动,即一个物体运动时速度越来越慢.现在用Javascript来模拟这两个效果,原理就是用setInterval或setTimeout动态改变一个元素与另外一个元素的距离,如xxx.style.left或xxx.style.marginLeft,然后每次运动后都使速度增加,这样加速运动的效果就出现了,减速运动是同样的道理. 下面是两个示例: 加速运动 复制代码 代码如下: <!DOCTYPE html> <html> <head&g

JavaScript实现的字符串replaceAll函数代码分享_javascript技巧

由于javascript中的replace函数无法替换全部匹配的字符串,所以需要为String类增加一个方法,代码如下: 复制代码 代码如下: String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {       if (!RegExp.prototype.isPrototypeOf(reallyDo)) {           return this.replace(new RegExp(really

JavaScript实现防止网页被嵌入Frame框架的代码分享_javascript技巧

最近,国内开始流行另一种流氓行为:使用框架(Frame),将你的网页嵌入它的网页中. 比如,有一家网站号称自己是"口碑聚合门户",提供全国各个网上论坛的精华内容.但是,其实它就是用框架抓取他人的网页,然后在上面加上自己的广告和站标,这同盗版书商有何不同?! 防止方法,在 复制代码 代码如下: </body> 之前加入这段代码: 复制代码 代码如下: <script type="text/javascript">  if ( top.locat