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> ...
随机推荐
- 基于GStreamer编写Mp3播放器
一.简介 作者系统为CentOS6,本文在此基础上对Mp3播放器进行开发,需要使用mp3解码库libmad和gstreamer0.10-plugins-ugly,详细步骤如下. 二.操作步骤 1) ...
- GCD 学习(三)Main&Global Dispatch Queue
摘录自:http://zhuyanfeng.com/archives/3066 Main Dispatch Queue是在主线程中执行任务的Dispatch Queue.因为主线程只有1个,所以Mai ...
- Luogu 1641 [SCOI2010]生成字符串
结果和dp没有一点关系…… 30分算法:设$f_{i, j}$表示已经选了$i$个并且有$j$个是白色的状态数,转移显然,最后答案就是$f_{n + m, m}$,时间复杂度$O(n^{2})$. 1 ...
- myql 服务启动不了怎么办
今天,不小心手动将mysql 服务停掉后,怎么也启动不了,后面查了半天 ,终于知道要先将任务管理器里的mysql.exe 先Kill掉,然后可以启动了,记录一下
- C 语言 clock() 函数,例:计算多项式值
C 语言 clock() 函数,例:计算多项式值 /** * clock(): 捕捉从程序开始运行到 clock() 被调用时所耗费的时间. * 这个时间单位是 clock tick, 即" ...
- UIApplication直接应用
/************ 当程序载入后执行,应用程序启动入口 *****************************/ - (BOOL)application:(UIApplication *) ...
- [SinGuLaRiTy] (树形)数据结构题目复习
[SinGuLaRiTy-1023] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 普通平衡树 题目描述 你需要写一种数据结构(可参考题目标 ...
- Easyui-交互式消息弹出框
由于项目在优化的时候需要用到弹出框,按自己的想法是傻傻的用一些alert直接弹出得了,但是这样用户体验度不是特别好,影响界面美观,所以自己还是用了封装好的easyui给的消息框,怎么用呢,这个里面很有 ...
- JavaScript之DOM HTML
前言 JavaScript这门语言在一定程度上让我们html之间耦合度降低了,为什么这样说呢?JavaScript语言一样可以可以随意写入html页面一些东西,比如:JavaScript的DOM可以改 ...
- 2019.2.10考试T2, 多项式求exp+生成函数
\(\color{#0066ff}{ 题目描述 }\) 为了减小文件大小,这里不写一堆题目背景了. 请写一个程序,输入一个数字N,输出N个点的森林的数量.点有标号. 森林是一种无向图,要求图中不能存在 ...