解决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 相关文章推荐
一个很简单的办法实现TD的加亮效果.
Jun 29 Javascript
让您的菜单不离网站
Oct 03 Javascript
按钮JS复制文本框和表格的代码
Apr 01 Javascript
使用jquery实现简单的ajax
Jul 08 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
js 连续赋值的简单实现
Jun 13 Javascript
ES6中参数的默认值语法介绍
May 03 Javascript
Vue中v-for的数据分组实例
Mar 07 Javascript
angularJs中$http获取后台数据的实例讲解
Aug 08 Javascript
JS+CSS实现随机点名(实例代码)
Nov 04 Javascript
jQuery HTML设置内容和属性操作实例分析
May 20 jQuery
详解React路由传参方法汇总记录
Nov 29 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
PHP二维数组的去重问题解析
2011/07/17 PHP
php压缩文件夹最新版
2018/07/18 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
使用jquery+CSS实现控制打印样式
2014/12/31 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
Underscore源码分析
2015/12/30 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
nodejs基础应用
2017/02/03 NodeJs
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
python dict remove数组删除(del,pop)
2013/03/24 Python
Python制作Windows系统服务
2017/03/25 Python
对Python3.x版本print函数左右对齐详解
2018/12/22 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
为什么黑客都用python(123个黑客必备的Python工具)
2020/01/31 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
2020/06/14 Python
Python 实现一个简单的web服务器
2021/01/03 Python
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
优秀中专生推荐信
2013/11/17 职场文书
外语专业毕业生个人的自荐信
2013/11/19 职场文书
美术专业个人自我评价
2014/01/18 职场文书
企业整改报告范文
2014/11/08 职场文书
个人先进材料范文
2014/12/30 职场文书
云冈石窟导游词
2015/02/04 职场文书