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+PHP+Mysql实现抽奖程序
Apr 12 jQuery
jQuery实现的简单在线计算器功能
May 11 jQuery
JavaScript之事件委托实例(附原生js和jQuery代码)
Jul 22 jQuery
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
jQuery实现定时隐藏对话框的方法分析
Feb 12 jQuery
jQuery使用each遍历循环的方法
Sep 19 jQuery
jQuery实现上下滚动公告栏详细代码
Nov 21 jQuery
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
jquery无缝图片轮播组件封装
Nov 25 jQuery
jQuery创建折叠式菜单
Jun 15 jQuery
jQuery实现验证用户登录
Dec 10 jQuery
多种类型jQuery网页验证码插件代码实例
Jan 09 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基于curl重写file_get_contents函数实例
2016/11/08 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
JS 动态加载脚本的4种方法
2009/05/05 Javascript
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
2013/08/26 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python list 合并连接字符串的方法
2013/03/09 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
关于python写入文件自动换行的问题
2018/06/23 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Python的几种主动结束程序方式
2019/11/22 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
英国Amara家居法国网站:家居装饰,现代装饰和豪华礼品
2016/12/15 全球购物
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
某某同志考察材料
2014/05/28 职场文书
工作散漫检讨书
2014/09/16 职场文书
单位委托函范文
2015/01/29 职场文书
2016特色励志班级口号
2015/12/24 职场文书
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python
Go语言基础函数基本用法及示例详解
2021/11/17 Golang