解决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 相关文章推荐
一个简单的JS鼠标悬停特效具体方法
Jun 17 Javascript
javascript修改表格背景色实例代码分享
Dec 10 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
Dec 13 Javascript
关闭页面window.location事件未执行的原因及解决方法
Sep 01 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
Jul 14 Javascript
JavaScript提高加载和执行效率的方法
Feb 03 Javascript
使用vue.js写一个tab选项卡效果
Mar 25 Javascript
js 函数式编程学习笔记
Mar 25 Javascript
详解Vue 事件修饰符capture 的使用
Dec 29 Javascript
vue下axios拦截器token刷新机制的实例代码
Jan 17 Javascript
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
Vue2项目中对百度地图的封装使用详解
Jun 16 Vue.js
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
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
JavaScript浏览器对象之一Window对象详解
2016/06/03 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
实例Python处理XML文件的方法
2015/08/31 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
python使用selenium实现批量文件下载
2019/03/11 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
Python通过Tesseract库实现文字识别
2020/03/05 Python
python小白切忌乱用表达式
2020/05/29 Python
基于python实现操作git过程代码解析
2020/07/27 Python
css3实现元素环绕中心点布局的方法示例
2019/01/15 HTML / CSS
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
京东全球售:直邮香港,澳门,台湾,美国,澳大利亚等地区
2017/09/24 全球购物
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
社区工作者思想汇报
2014/01/13 职场文书
销售主管岗位职责范本
2014/02/14 职场文书
业务员自荐信范文
2014/04/20 职场文书
大学生求职计划书
2014/04/30 职场文书
保险公司演讲稿
2014/09/02 职场文书
最美乡村教师观后感
2015/06/11 职场文书
中秋晚会致辞
2015/07/31 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书