解决bootstrap下拉菜单点击立即隐藏bug的方法


Posted in Javascript onJune 13, 2017

昨天用jQuery和bootstrap实现下拉菜单复选框,今天把做好的demo组合进项目里,发现有点bug,就是点击银行复选框的时候,每点一次dropdown-menu这个div会立即隐藏,这就导致每次只能选一个。

解决bootstrap下拉菜单点击立即隐藏bug的方法

这应该是事件传播的原因,代码修改如下:

var banks = $('.all').siblings().children();
$('.all>input').click(function() {
  var flag = $(this).prop('checked');
  banks.prop('checked', flag);
})

// 阻止事件传播, 否则在点击复选框的时候,dropdown-menu这个div会立即隐藏
$('.dropdown-menu label').click(function(e) {
  e.stopPropagation();
});
banks.click(function() {
  // 如果有一个没选中,全选按钮不选中
  // 如果全部选中,全选按钮被选中
  var num = 0;
  banks.each(function() {
    if ($(this).prop("checked")) {
      num++;
    }
  })
  if (num == banks.length) {
    $('.all>input').prop('checked', true);
  } else {
    $('.all>input').prop('checked', false);
  }
})

另外,需要新增加的功能是,点击“保存”按钮的时候,需要把选中的银行名称以逗号拼接成字符串传递给后台。这部分比较简单,代码如下:

// 在提交时,获取选中的所有值,并把这些值拼接成字符串
$('.submit').click(function() {
  var bankArr = [];
  banks.each(function() {
    if ($(this).prop("checked")) {
      bankArr.push($(this).val());
    }
  });
  var bankStr = bankArr.join(',');
  console.log(bankStr);
})

解决bootstrap下拉菜单点击立即隐藏bug的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 使用手册(四)
Sep 23 Javascript
jQuery javaScript捕获回车事件(示例代码)
Nov 07 Javascript
jQuery Validate初步体验(一)
Dec 12 Javascript
angularjs自定义ng-model标签的属性
Jan 21 Javascript
判断是否存在子节点的实现代码
May 18 Javascript
关于function类中定义变量this的简单说明
May 28 Javascript
Vue动态实现评分效果
May 24 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
Nov 28 Javascript
微信小程序上传图片实例
May 28 Javascript
详解JavaScript栈内存与堆内存
Apr 04 Javascript
vue大型项目之分模块运行/打包的实现
Sep 21 Javascript
React列表栏及购物车组件使用详解
Jun 28 Javascript
javascript实现非常简单的小数取整功能示例
Jun 13 #Javascript
微信小程序 新建登录页并实现tabBar隐藏
Jun 13 #Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
Jun 13 #Javascript
bootstrap timepicker在angular中取值并转化为时间戳
Jun 13 #Javascript
微信小程序实现多个按钮toggle功能的实例
Jun 13 #Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
Jun 13 #Javascript
微信小程序--组件(swiper)详细介绍
Jun 13 #Javascript
You might like
Ajax PHP分页演示
2007/01/02 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
Laravel框架中缓存的使用方法分析
2019/09/06 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
JavaScript类和继承 this属性使用说明
2010/09/03 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
python批量提取word内信息
2015/08/09 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
python实现微信远程控制电脑
2018/02/22 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
马来西亚航空官方网站:Malaysia Airlines
2017/07/28 全球购物
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
linux面试相关问题
2012/08/11 面试题
四年的大学生生活自我评价
2013/12/09 职场文书
优秀学生获奖感言
2014/02/15 职场文书
合作意向书范本
2014/03/31 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
办理信用卡工作证明
2014/09/30 职场文书
音乐之声观后感
2015/06/04 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸