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插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
jQuery实现文章图片弹出放大效果
Apr 06 jQuery
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
jQuery实现左右滑动的toggle方法
Mar 03 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
jQuery.parseJSON()函数详解
Feb 28 jQuery
jquery.pager.js实现分页效果
Jul 29 jQuery
jQuery实现验证用户登录
Dec 10 jQuery
jquery检测上传文件大小示例
Apr 26 jQuery
jQuery实现简单三级联动效果
Sep 05 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 工厂模式使用方法
2010/05/18 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
PHP解析RSS的方法
2015/03/05 PHP
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
老生常谈Python基础之字符编码
2017/06/14 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
python实现接口并发测试脚本
2019/06/25 Python
Python中关于浮点数的冷知识
2019/09/22 Python
python中栈的原理及实现方法示例
2019/11/27 Python
pytorch的batch normalize使用详解
2020/01/15 Python
详解Python高阶函数
2020/08/15 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
机电专业个人自荐信格式模板
2013/09/23 职场文书
自我鉴定200字
2013/10/28 职场文书
学校课外活动总结
2014/05/08 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
店铺转让协议书
2015/01/29 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书