jQuery+SpringMVC中的复选框选择与传值实例


Posted in jQuery onJanuary 08, 2018

一、checkbox选择

在jQuery中,选中checkbox通用的两种方式:

$("#cb1").attr("checked","checked");
$("#cb1").attr("checked",true);

对应的jQuery函数,主要完成三个功能:

1、第一个复选框选中或取消选中,则下面的复选框为全选或取消全选;

2、当下面的复选框全部选中时,则将第一个复选框设置为选中,当下面的复选框中有一个没有被选中时,则第一个复选框取消选中;

3、将下面的复选框的id值传递给Controller层,组成id数组,然后调用相应的方法(一般都是删除)。

<script type="text/javascript">  function chgAll(t){//第一个复选框选中或取消选中,则下面的复选框为全选或取消全选;
    $("input[name='id']").attr('checked',t.checked);//改变name名为id的input标签内的复选框的checked属性
  }
  function chg(){//当下面的复选框全部选中时,则将第一个复选框设置为选中,当下面的复选框中有一个没有被选中时,则第一个复选框取消选中;
    var ids = $.makeArray($("input[name='id']"));
    for(var i in ids){
      if(ids[i].checked==false){//如果所有的复选框只要有一个未选中,则第一个复选框不会选中
        $("input[name='ids']").attr('checked', false);
        return;
      }
    }
    $("input[name='ids']").attr('checked', true);//全部选中的情况下,则第一个复选框选中
  }
  function deleteBatch(){//将下面的复选框的id值传递给Controller层,组成id数组,拼接url到controller层,调用批量删除方法(deleteBatch())方法
    var ids = $.makeArray($("input[name='id']:checked"));//通过$.makeArray将id放在数组中
    var url = '<%basePath%>/web/goodsList/deleteBatch';//此url指向controller层的deleteBatch方法,需要id属性
    var flag = true;
    for(var i in ids){//遍历数组
      if(i == 0){
          url += "?id=" + ids[i].value;//第一个id属性前加?拼接
          flag = false;
        } else {
          url += "&id=" + ids[i].value;//后面的id属性前加&拼接
          flag = false;
        }
      }
    if(flag){//如果没有选中商品
      alert("请选中商品!");
      return;
    }
    if(confirm("确定删除记录吗?")){
      window.location.href = url;//把拼接好的id数组传给页面
    }
    }
</script>

二、在jsp页面中对应的列表:

1、列表中要给表头中的复选框(第一个复选框)设置name名,并调用chgAll(this)方法来实现全选或全不选;

2、table中的复选框设置name名,并调用chg()方法来实现上面的第二个功能;

3、form表单提交时调用deleteBatch()方法

<body>
  <form:form id="uuForm" modelAttribute="goods"  action="<%basePath%>/web/goodsList/" method="post" >//form表单提交时调用deleteBatch()方法
    <div> <input type="button"  onclick="deleteBatch()" value="批量删除" /> </div>
  </form:form>
  <sys:message content="${message}" />
  <table id="cTable" >
    <thead>
      <tr>
      <th><input type="checkbox" name="ids" onchange="chgAll(this)" /></th>//调用chgAll(this)方法来实现全选或全不选,此处的this指所有复选框对象
        <th>商品编号</th>
        <th>商品标题</th>
      </tr>
    </thead>
    <tbody>
      <c:forEach items="${goods}" var="goods" varStatus="status">
        <tr>
        <td><input type="checkbox" name="id" value="${goods.goodsId }" onchange="chg()"/></td>//调用chg()方法
          <td>${webGoodsInfo.goodsNo}</td>
          <td>${webGoodsInfo.goodsTitle}</td>
        </tr>
      </c:forEach>
    </tbody>
  </table>
   
</body>

三、看下spring MCV中的controller代码

@RequestMapping("deleteBatch")//对应jsp页面中的deleteBatch()请求
  public String deleteBatch(Long[] id, RedirectAttributes redirectAttributes){//此处的id为页面中的id值,必须保持一直!!!!
    if(id !=null&&id.length!=0){
      goodsService.deleteBatch(id);
    }
    return "redirect:"+Global.getAdminPath()+"/web/webGoodsInfo/?repage";//重定向到列表页面
  }
}

看下效果:

jQuery+SpringMVC中的复选框选择与传值实例

以上这篇jQuery+SpringMVC中的复选框选择与传值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery手风琴的简单制作
May 12 jQuery
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 jQuery
基于jQuery封装的分页组件
Jun 26 jQuery
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
jQuery实现获取table中鼠标click点击位置行号与列号的方法
Oct 09 jQuery
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
jquery 获取索引值在一定范围的列表方法
Jan 25 jQuery
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
Jan 25 jQuery
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
jQuery简单实现根据日期计算星期几的方法
Jan 09 jQuery
Jquery让form表单异步提交代码实现
Nov 14 jQuery
使用jquery实现轮播图效果
Jan 02 jQuery
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 #jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 #jQuery
jQuery+CSS实现的table表格行列转置功能示例
Jan 08 #jQuery
基于jquery trigger函数无法触发a标签的两种解决方法
Jan 06 #jQuery
jQuery中库的引用方法
Jan 06 #jQuery
jQuery封装animate.css的实例
Jan 04 #jQuery
jQuery 实现左右两侧菜单添加、移除功能
Jan 02 #jQuery
You might like
php基础学习之变量的使用
2011/06/09 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
2014/12/17 PHP
javascript游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
2013/01/23 Javascript
深入了解javascript中的prototype与继承
2013/04/14 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
JavaScript计时器示例分析
2015/02/05 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
2018/05/16 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
Django框架模板注入操作示例【变量传递到模板】
2018/12/19 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
python 实现按对象传值
2019/12/26 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
汽车驾驶求职信
2013/10/25 职场文书
给护士表扬信
2014/01/19 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
《生命 生命》教学反思
2014/04/19 职场文书
供应链金融服务方案
2014/05/25 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang
matlab xlabel位置的设置方式
2021/05/21 Python
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL