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实现鼠标滑过预览图片大图效果的方法
Apr 26 jQuery
JQuery EasyUI的一些常用组件
Jul 12 jQuery
jQuery上传插件webupload使用方法
Aug 01 jQuery
jQuery实现的简单获取索引功能示例
Jun 04 jQuery
jQuery实现的中英文切换功能示例
Jan 11 jQuery
jQuery选择器之层次选择器用法实例分析
Feb 19 jQuery
jQuery中使用validate插件校验表单功能
May 24 jQuery
jQuery子选择器与可见性选择器实例分析
Jun 28 jQuery
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
JQuery复选框全选效果如何实现
May 08 jQuery
jQuery HTML css()方法与css类实例详解
May 20 jQuery
jquery实现上传图片功能
Jun 29 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实现图片简单上传
2006/10/09 PHP
PHP 解决session死锁的方法
2013/06/20 PHP
纯PHP生成的一个树叶图片画图例子
2014/04/16 PHP
ThinkPHP实现附件上传功能
2017/04/27 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
php链式操作的实现方式分析
2019/08/12 PHP
jquery tab插件制作实现代码
2010/06/22 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
jQuery中addClass()方法用法实例
2015/01/05 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
JavaScript判断FileUpload控件上传文件类型
2015/09/28 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
Python多线程爬虫简单示例
2016/03/04 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
Python字典实现伪切片功能
2020/10/28 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
小学教师岗位职责
2013/11/25 职场文书
团队精神演讲稿
2013/12/31 职场文书
学校安全检查制度
2014/01/27 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL
船舶调度指挥系统——助力智慧海事
2022/02/18 无线电
MySQL 外连接语法之 OUTER JOIN
2022/04/09 MySQL