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

?php  

  1. header("content-type:text/html;charset=utf-8");  
  2. use yii\helpers\Html;  
  3. use yii\widgets\LinkPager;  
  4. //print_r($countries);die;  
  5. ?>  
  6. <h1>显示出数据</h1>  
  7. <input type="checkbox" value="全选" οnclick="check(this);">全选  
  8. <input type="checkbox" value="全不选" οnclick="check_bx(this);">全不选  
  9. <input type="checkbox" value="反选" οnclick="check_fx();">反选  
  10. <input type="checkbox" value="批量删除" οnclick="check_del();">批量删除  
  11.   
  12. <script src="public/jq.js"></script>  
  13. <style media="screen">  
  14.   tr{  
  15.     background-color: red;  
  16.     font-family: 宋体;  
  17.     width: 100px;  
  18.     height: 30px;  
  19.     line-height: 30px;  
  20.     text-align: center;  
  21.   }  
  22.   td{  
  23.     background-color: pink;  
  24.     border: 2px solid purple;  
  25.   }  
  26.   .aa{  
  27.     border: 2px solid green;  
  28.     background-color: yellow;  
  29.     font-family: 隶书;  
  30.   }  
  31.   h1{  
  32.     font-family: 华文行楷;  
  33.     box-shadow: 10px 10px 5px #888888;    
  34.     border:2px solid;    
  35.     border-radius:25px;   
  36.     width: 200px;   
  37.     background-color: white;  
  38.   }  
  39.   th{  
  40.     font-family: 隶书;  
  41.     border: 2px solid green;  
  42.     background-color: yellow;  
  43.   }  
  44.   .checkbox{  
  45.     width: 25px;  
  46.     height: 30px;  
  47.   }  
  48. </style>  
  49. <table border="1">  
  50.     <th></th>  
  51.     <th>序列号</th>  
  52.     <th>父级ID</th>  
  53.     <th>地区名称</th>  
  54.     <th>操作</th>  
  55.     <?php foreach ($countries as $k => $v) {  ?>  
  56.         <tr>  
  57.           <td><input type="checkbox" id="<?php echo $v['r_id'] ?>" class="checkbox" name="check[]" value="<?php echo $v['r_id'] ?>"></td>  
  58.           <td><?php echo $v['r_id'] ?></td>  
  59.           <td><?php echo $v['pid'] ?></td>  
  60.           <td><span class="num" id="<?php echo $v['r_id'] ?>"><?php echo $v['r_name']?></span></td>  
  61.           <td><a href="javascript:void(0)" id="<?php echo $v['r_id'] ?>" class="aa" οnclick="del(this)">删除 </a></td>  
  62.         </tr>  
  63.    <?php } ?>  
  64. </table>  
  65. <?= LinkPager::widget(['pagination' => $pagination]) ?>  
  66. <script type="text/javascript">  
  67.   //即点即改入库  
  68.   $(function(){  
  69.     $(document).on('click','.num',function(){  
  70.         var id=$(this).attr('id');  
  71.         var _this=$(this);  
  72.         var new_val=$(this).html();  
  73.         _this.parent().html("<input type='text'class='asdf' value="+new_val+" id="+id+">");  
  74.         var inp=$('.asdf');  
  75.         inp.focus();  
  76.         inp.blur(function(){  
  77.             var old_id=$(this).attr('id');  
  78.             var old_val=$(this).val();  
  79.             //inp.parent().html("<span class=\"num\" id="+old_id+">"+old_val+"</span>");  
  80.             $.get("index.php?r=upload/updates",{measure_unit:old_val,id:old_id},function(e){  
  81.                 if(e==1){  
  82.                     inp.parent().html("<span class=\"num\" id="+old_id+">"+old_val+"</span>");  
  83.                 }else{  
  84.                     inp.parent().html("<span class=\"num\" id="+old_id+">"+new_val+"</span>");  
  85.                 }  
  86.             })  
  87.         })  
  88.     })  
  89.   })  
  90. </script>  
  91. <script>  
  92.     //无刷新删除  
  93.       function del(obj)  
  94.     {  
  95.         var ids=obj.id;  
  96.         ajax=new XMLHttpRequest();  
  97.         ajax.onreadystatechange=function()  
  98.         {  
  99.             if(ajax.readyState==4)  
  100.             {  
  101.                 //alert(ajax.responseText);  
  102.                 if(ajax.responseText==1)  
  103.                 {  
  104.                     obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);  
  105.                 }  
  106.                 else{  
  107.                     alert("删除失败");  
  108.                 }  
  109.             }  
  110.         }  
  111.         ajax.open("get","index.php?r=upload/del&ids="+ids);  
  112.         ajax.send(null);  
  113.     }  
  114.     /*全选*/  
  115.         function check(obj)  
  116.     {  
  117.         var ids=document.getElementsByName("check[]");  
  118.         if(obj.checked)  
  119.         {  
  120.             for(var i=0;i<ids.length;i++)  
  121.             {  
  122.                 ids[i].checked=true;  
  123.             }  
  124.         }  
  125.     }  
  126.     /*全不选*/  
  127.      function check_bx(obj)  
  128.     {  
  129.         var ids=document.getElementsByName("check[]");  
  130.         if(obj.checked)  
  131.         {  
  132.             for(var i=0;i<ids.length;i++)  
  133.             {  
  134.                 ids[i].checked=false;  
  135.             }  
  136.         }  
  137.     }  
  138.       //反选  
  139.     function check_fx()  
  140.     {  
  141.         var ids=document.getElementsByName("check[]");  
  142.         for(var i=0;i<ids.length;i++)  
  143.         {  
  144.             ids[i].checked=!ids[i].checked;  
  145.         }  
  146.     }  
  147.     /*批量删除*/  
  148.      function check_del()  
  149.     {  
  150.         var ids=document.getElementsByName("check[]");  
  151.         var str='';  
  152.         for(var i=0;i<ids.length;i++)  
  153.         {  
  154.             if(ids[i].checked)  
  155.             {  
  156.                 str=str+','+ids[i].value;  
  157.             }  
  158.         }  
  159.         new_str=str.substr(1);  
  160.         ajax=new XMLHttpRequest();  
  161.         ajax.onreadystatechange=function() {  
  162.             if (ajax.readyState == 4) {  
  163.                 //alert(ajax.responseText);    
  164.                 if(ajax.responseText==1)  
  165.                 {  
  166.                     for(var j=ids.length-1;j>=0;j--)  
  167.                     {  
  168.                         if(ids[j].checked)  
  169.                         {  
  170.                           ids[j].parentNode.parentNode.parentNode.removeChild(ids[j].parentNode.parentNode);  
  171.                         }  
  172.                     }  
  173.   
  174.                 }  
  175.                 else  
  176.                 {  
  177.                     alert("删除失败");  
  178.                 }  
  179.             }  
  180.         }  
  181.         ajax.open("get","index.php?r=upload/del_all&new_str="+new_str);  
  182.         ajax.send(null);  
  183.     }  
  184. </script>  

2.
  1. <?php  
  2. namespace app\controllers;  
  3.   
  4. use Yii;  
  5. use yii\filters\AccessControl;  
  6. use yii\web\Controller;  
  7. use yii\filters\VerbFilter;  
  8. use app\models\LoginForm;  
  9. use app\models\ContactForm;  
  10. use yii\web\UploadedFile;  
  11. use app\models\Upload;  
  12. use yii\data\Pagination;  
  13. use app\models\Country;  
  14. use app\models\Region;  
  15.   
  16. class UploadController extends Controller  
  17. {  
  18.     //public $layout=false; //禁用yii自带样式  
  19.     public function actionIndex(){  
  20.         $model = new Upload();  
  21.         if ($model->load(Yii::$app->request->post()) && $model->validate()) {  
  22.             // 验证 $model 收到的数据  
  23.             // 做些有意义的事 ...  
  24.             return $this->render('entry-confirm', ['model' => $model]);  
  25.         } else {  
  26.             // 无论是初始化显示还是数据验证错误  
  27.             return $this->render('entry', ['model' => $model]);  
  28.         }  
  29.     }  
  30.     public function actionAdds()  
  31.     {  
  32.         $model = new Upload();  
  33.         $request = Yii::$app->request;  
  34.         $post=$request->post('Upload');  
  35.         $u_name = $post['u_name'];  
  36.         $u_pwd = $post['u_pwd'];  
  37.         //在浏览器输出的值是 yii\web\UploadedFile Object ( [name] => 2.jpg [tempName] => C:\Windows\php3986.tmp  
  38.         // [type] => image/jpeg [size] => 216848 [error] => 0 )  
  39.          $arr =  $model->u_img = UploadedFile::getInstance($model,'u_img');  
  40.          //print_r($arr);  
  41.           if ($model->upload()){  
  42.                 $u_img = $arr->name;  
  43.                 //var_dump($u_img);  
  44.                  $connection = \Yii::$app->db;  
  45.                     $result=$connection->createCommand()->insert('upload', [  
  46.                 'u_name' => $u_name,  
  47.                 'u_pwd' => $u_pwd,  
  48.                  'u_img' =>$u_img,  
  49.             ])->execute();  
  50.             if($result)  
  51.             {  
  52.               echo "添加成功";  
  53.             }  
  54.             else  
  55.             {  
  56.                 echo "添加失败";  
  57.             }  
  58.             }  
  59.   
  60.     }  
  61.     /*分页*/  
  62.     public function actionLists()  
  63.      {  
  64.          $query = Country::find();  
  65.   
  66.          $pagination = new Pagination([  
  67.              'defaultPageSize' => 1,  
  68.              'totalCount' => $query->count(),  
  69.          ]);  
  70.   
  71.          $countries = $query->orderBy('name')  
  72.              ->offset($pagination->offset)  
  73.              ->limit($pagination->limit)  
  74.              ->all();  
  75.   
  76.          return $this->render('lists', [  
  77.              'countries' => $countries,  
  78.              'pagination' => $pagination,  
  79.          ]);  
  80.      }  
  81.          /*地区表进行分页*/  
  82.          public function actionShow(){  
  83.              $query = Region::find();  
  84.              $pagination = new Pagination([  
  85.                      'defaultPageSize' => 6,  
  86.                      'totalCount' => $query->count(),  
  87.              ]);  
  88.              $countries = $query->orderBy('r_id')  
  89.                      ->offset($pagination->offset)  
  90.                      ->limit($pagination->limit)  
  91.                      ->all();  
  92.              return $this->render('show', [  
  93.                      'countries' => $countries,  
  94.                      'pagination' => $pagination,  
  95.              ]);  
  96.          }  
  97.          /*修改*/  
  98.          public function actionUpdates(){  
  99.              $name = $_GET['measure_unit'];  
  100.             $id = $_GET['id'];  
  101.              $connection = \Yii::$app->db;  
  102.              $command = $connection->createCommand("UPDATE region SET r_name='$name' WHERE r_id='$id'");  
  103.              $command->execute();  
  104.              if(!empty($command)){  
  105.                  echo 1;  
  106.              }else{  
  107.                  echo 0;  
  108.              }  
  109.          }  
  110.          // 无刷新delete  
  111.          public function actionDel(){  
  112.             $id=$_GET['ids'];  
  113.             $connection=\Yii::$app->db;  
  114.             $arr=$connection->createCommand("delete from region where r_id='$id'")->execute();  
  115.             if($arr){  
  116.                 echo 1;  
  117.             }else{  
  118.                 echo 0;  
  119.             }  
  120.          }  
  121.          /*  
  122.         批量删除  
  123.         @new_str  GET  
  124.         */  
  125.          public function actionDel_all(){  
  126.             $new_str=$_GET['new_str'];  
  127.             $connection=\Yii::$app->db;  
  128.             $arr=$connection->createCommand("delete from region where r_id in($new_str)")->execute();  
  129.             if($arr){  
  130.                 echo 1;  
  131.             }else{  
  132.                 echo 0;  
  133.             }  
  134.          }  
  135. }  
  136. ?> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值