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 08 jQuery
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
Jun 12 jQuery
jquery基于layui实现二级联动下拉选择(省份城市选择)
Jun 20 jQuery
JQuery EasyUI 结合ztrIee的后台页面开发实例
Sep 01 jQuery
jquery 键盘事件的使用方法详解
Sep 13 jQuery
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
jQuery实现的回车触发按钮事件功能示例
Mar 25 jQuery
jQuery使用动画队列自定义动画操作示例
Jun 16 jQuery
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
jquery插件实现搜索历史
Apr 24 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计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
javascript关于继承解析
2016/05/10 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
vue中使用vue-cli接入融云实现即时通信
2019/04/19 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
如何使用 vue-cli 创建模板项目
2020/11/19 Vue.js
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
Python单例模式的两种实现方法
2017/08/14 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
Python调用graphviz绘制结构化图形网络示例
2019/11/22 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
Python scrapy爬取小说代码案例详解
2020/07/09 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
python之语音识别speech模块
2020/09/09 Python
大学毕业生的自我鉴定
2013/11/30 职场文书
库房主管岗位职责
2013/12/31 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
庆元旦活动总结
2014/07/09 职场文书
文明社区申报材料
2014/08/21 职场文书
华清池导游词
2015/02/02 职场文书
寻找成龙观后感
2015/06/12 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB