bootstrap多选框

不多说,先上图片
本多选框是用的bootstrap的样式为基础,将弹出框css改造,然后自己写的js得到。
下面为全部页面的代码,需要的可以自己改动js,得到自己需要的效果
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link href="css/bootstrap.css" rel="stylesheet" />
<style>
li {
width:60px;
}
</style>
</head>
<body>
<div class="container">
<h1 class="page-header">多选框</h1>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon">选择流量包</div>
<!--保存多选框的id-->
<input type="hidden" id="ids" />
<input class="form-control" type="text" id="txt" onclick="show(this)" placeholder="选择流量包" readonly style="width:350px">
<div class="popover fade bottom in" id="panel" style="display:block;opacity:0">
<div class="arrow"></div>
<div class="popover-title" style="height:35px;">
<div class="checkbox" style="margin-top:0;margin-bottom:0px;"></div><label><input type="checkbox" onchange="CheckAll(this)" />全选</label>
<button type="button" class="close" onclick="hide()">
<span aria-hidden="true">×</span>
<span class="sr-only">Close</span>
</button>
</div>
<div class="popover-content">
<ul class="list-inline" id="ul" >
<!--<li><div class="checkbox"></div><label><input type="checkbox" value="0" onclick="Choose(this)"/>5M</label></li>-->
</ul>
</div>
</div>
</div>
</div> </div>
</body>
</html>
<script src="js/jquery-3.1.1.js"></script>
<script src="js/bootstrap.js"></script>
<script>
var data = ["5M", "10M", "20M", "30M", "50M", "70M", "100M", "150M", "200M", "500M", "1024M"];
var objArr = [];
for (var i = 0; i < data.length; i++) {
var obj = new Object();
obj.id = i;
obj.value=data[i];
objArr.push(obj);
}
$(function () {
//加载多选框的数据
var ul = $("#ul");
for (var i = 0; i < objArr.length; i++) {
ul.append("<li><div class='checkbox'></div><label><input type='checkbox' value=" + objArr[i].id + " onclick='Choose(this)'/>" + objArr[i].value + "</label></li>");
}
});
//显示多选框
function show(t) {
//设置多选框显示的位置,在选择框的中间
var left = t.offsetLeft + t.clientWidth / 2 - $("#panel")[0].clientWidth / 2
var top = t.offsetTop + t.clientHeight + document.body.scrollTop;
$("#panel").css("opacity", "1");
$("#panel").css("margin-left", left);
$("#panel").css("margin-top", top + 5);
}
//隐藏多选框
function hide() {
$("#panel").css("opacity", "0");
}
//全选操作
function CheckAll(t) {
var name = "";
var ids = "";
var popoverContent = $($(t).parent().parent().parent().children()[2]);
popoverContent.find("input[type=checkbox]").each(function(i,th) {
th.checked = t.checked;
if (t.checked) {
name += $(th).parent().text() + ",";
ids += $(th).val() + ",";
}
});
name = name.substr(0, name.length - 1);
ids = ids.substr(0, ids.length - 1);
$("#txt").val(name);
$("#ids").val(ids);
} //勾选某一个操作
function Choose(t) {
var oldName = $("#txt").val();
var name = oldName == "" ? "," + $("#txt").val() : "," + $("#txt").val() + ",";
var ids = oldName == "" ? "," + $("#ids").val() : "," + $("#ids").val() + ",";
var newName = $(t).parent().text();
var newid = $(t).val(); if (t.checked) {//选中的操作
$("#txt").val(name += newName + ",");
$("#ids").val(ids += newid + ",");
} else {//去掉选中的操作
var index = name.indexOf(","+newName+",");
var len = newName.length;
name = name.substring(0, index) + name.substring(index + len + 1, name.length); var index = ids.indexOf("," + newid + ",");
var len = newid.length;
ids = ids.substring(0, index) + ids.substring(index + len + 1, ids.length);
}
name = name.substr(1, name.length - 2);
ids = ids.substr(1, ids.length - 2);
$("#txt").val(name);
$("#ids").val(ids);
}
</script>
bootstrap多选框的更多相关文章
- bootstrap复选框和单选按钮
复选框和单选按钮标签包含在<Label>标签中<div class="checkbox"> <label><input type=&quo ...
- 转载:Bootstrap之表格checkbox复选框全选
转:http://blog.csdn.net/shangmingchao[商明超的博客] 效果图: HTML中无需添加额外的一列来表示复选框,而是由JS完成,所以正常的表格布局就行了: 版权声明:如需 ...
- Bootstrap之表格checkbox复选框全选
效果图: HTML中无需添加额外的一列来表示复选框,而是由JS完成,所以正常的表格布局就行了: <table class="table table-bordered table-hov ...
- Bootstrap之表格checkbox复选框全选 [转]
转自: http://blog.csdn.net/shangmingchao/article/details/49761315 效果图: HTML中无需添加额外的一列来表示复选框,而是由JS完成,所以 ...
- bootstrap table 复选框选中后,翻页不影响已选中的复选框
使用的 jquery版本为 2.1.1 在项目中发现bootstrap table的复选框选中后,翻页操作会导致上一页选中的丢失,api中的 bootstrapTable('getSelections ...
- bootstrap table保留多选框的分页
有时候需要完成这种情况: 1.需要设置的是如果第一页点击复选框然后点击其他页面的话,第一页的选项被保存了 2.将所有选择好的复选款的数据保存在数组中 bootstrap table官方文档http:/ ...
- Bootstrap 历练实例 - 按钮(Button)插件复选框
复选框(Checkbox) 您可以创建复选框按钮 组,并通过向 btn-group 添加 data 属性 data-toggle="buttons" 来添加复选框按钮组的切换. & ...
- bootstrap历练实例:复选框或单选按钮作为输入框组的前缀或后缀
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:复选框(Checkbox)和单选框(Radio)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
随机推荐
- CodeForces 1109C. Sasha and a Patient Friend
题目简述:维护以下三种操作 1. "1 t s":在时刻$t$插入命令$s$.保证任意操作后,任意时刻至多只有一个命令. 2. "2 t":删除时刻$t$的命令 ...
- Linux kdb命令
一.简介 Linux 内核调试器(KDB)允许您调试 Linux 内核.这个恰如其名的工具实质上是内核代码的补丁,它允许高手访问内核内存和数据结构.KDB 的主要优点之一就是它不需要用另一台机器进行调 ...
- then方法
sendSMS(phoneNo).then(function(data) { var msg = (data && data['msg']) ? data['msg'] : '验证码已 ...
- python3-打印一个进度条
# Auther: Aaron Fan import sys,time for i in range(30): #打印一个#号,这种方法打印不会自动换行 sys.stdout.write('#') # ...
- Django框架 之 view视图
Django框架 之 view视图 浏览目录 概述 简单的视图 HttpRequest对象 CBV和FBV 给视图加装饰器 Request对象 Response对象 JsonResponse对象 Dj ...
- IP地址及子网掩码计算
主机号全0表示网络号,主机号全1表示广播地址 我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP A类IP段 0.0.0.0 到127.255.255.255 B类IP段 128. ...
- Entity Framework Tutorial Basics(7):DBContext
DBContext: As you have seen in the previous Create Entity Data Model section, EDM generates the Scho ...
- 读取txt文件的简易算法
网友在问,从一个文本文件(txt)读取数据,并做简易算法.网友的原问题大约如下, 网友的问题,虽然说是全部是数字,但没有说明是否只有一行.因此Insus.NET在实现算法时,处理文本文件是否多行,是否 ...
- javascript javascript面向对象的理解及简单的示例
javascript面向对象的理解及简单的示例 零.本节重点: 1.封装: 2.继承: 壹.下面理解: 一. javascript面向对象概念: 为了说明 JavaScript 是一门彻底的面向对象的 ...
- jmeter接口参数化获取tocken后保存批量保存在本地
jmeter目录结构如下: 1,读取文件配置的ID提取tocken 2,CSV 数据文件设置,第一个为文件目录,第二个为参数化的参数名. 3,正则表达式提取tocken 4,BeanShell Pos ...