解决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 相关文章推荐
导航跟随滚动条置顶移动示例代码
Sep 11 Javascript
JSP跨iframe如何传递参数实现代码
Sep 21 Javascript
JQuery创建DOM节点的方法
Jun 11 Javascript
JavaScript正则替换HTML标签功能示例
Mar 02 Javascript
基于zepto.js实现手机相册功能
Jul 11 Javascript
JavaScript实现图片切换效果
Aug 12 Javascript
ES6基础之展开语法(Spread syntax)
Feb 21 Javascript
JavaScript中将值转换为字符串的五种方法总结
Jun 06 Javascript
vue2.0项目集成Cesium的实现方法
Jul 30 Javascript
JavaScript 作用域scope简单汇总
Oct 23 Javascript
微信小程序如何加载数据库真实数据的实现
Mar 04 Javascript
JS图片预加载三种实现方法解析
May 08 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实现框架(一)
2006/10/09 PHP
在PHP语言中使用JSON和将json还原成数组的方法
2016/07/19 PHP
php curl常用的5个经典例子
2017/01/20 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
2019/09/01 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
python处理json数据中的中文
2014/03/06 Python
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
Python控制Firefox方法总结
2019/06/03 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
基于python检查矩阵计算结果
2020/05/21 Python
解决redis与Python交互取出来的是bytes类型的问题
2020/07/16 Python
python如何建立全零数组
2020/07/19 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
python中的unittest框架实例详解
2021/02/05 Python
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
职业规划实施方案
2014/06/10 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
维稳工作情况汇报
2014/10/27 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
Python Django搭建文件下载服务器的实现
2021/05/10 Python