如何在select下拉列表中添加复选框?

Posted sunweinan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在select下拉列表中添加复选框?相关的知识,希望对你有一定的参考价值。

  近来在给一个公司做考试系统的项目,遇到的问题不少,但其中的几个让我对表单的使用颇为感兴趣,前端程序员都知道,下拉列表有select标签,复选框有checkbox,但是两者合在一起却少有人去研究,当时接到这样的要求时我也蒙了,于是去网上查相关资料,查了好久,查不出个结果,只好自己用纯html css jq去做一个仿下拉列表中自带复选框的效果,代码如下,可直接复制去查看效果,

注:(以下代码为本人自己编写,只是一个小Demo,可以直接复制使用,但代码只是演示其效果和功能,告诉大家如何去写,所以界面可能没大家想要的那么漂亮!敬请谅解!0.0.)

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

*{padding: 0;margin: 0;}

#wrap{

width: 500px;

height: 500px;

border: 1px solid blue;

margin: 100px auto;

}

#selectBoard{

width: 300px;

height: 20px;

border: 1px solid black;

border-radius: 5px;

position: relative;

margin: 30px auto;

}

#selectBoard ul{

width: 300px;

background: white;

position: absolute;

top: -10px;

left: -10px;

border: 1px solid red;

border-radius: 5px;

display: none;

}

#selectBoard ul li{

list-style: none;

}

#selectBoard ul li:hover{background: dodgerblue;}

#selectBoard img{

position: absolute;

right: 0;

top: 0;

width: 30px;

}

</style>

</head>

<body>

<div id="wrap">

<div id="selectBoard">

<ul>

<li><input type="checkbox" name="" id="" value="北京" />北京</li>

<li><input type="checkbox" name="" id="" value="上海" />上海</li>

<li><input type="checkbox" name="" id="" value="西安" />西安</li>

<li><input type="checkbox" name="" id="" value="石家庄" />石家庄</li>

</ul>

<span id="shuju"></span>

</div>

</div>

</body>

</html>

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

<script type="text/javascript">

//定义一个空数组去接收value值

var arr = [];

//仿select的点击事件

$("#selectBoard").click(function(event){

var ev = event || window.event;

  //阻止默认事件及封装

if (ev.stopPropagation) {

ev.stopPropagation();

}else{

ev.cancelable = true;

}

$("#selectBoard ul").css("display","block");

});

 

$(window).click(function(){

$("#selectBoard ul").css("display","none");

});

 //监听checkbox的value值 改变则执行下列操作

$("input").change(function(){

if ($(this).prop("checked")) {

arr.push($(this).val()+",");

console.log(arr);

}else{

arr.shift($(this).val()+",");

}

$("#shuju").html(arr);

});

</script>

 

 欢迎大家提出建议!!

 

 

 

 

 

 

 

 

 

  

以上是关于如何在select下拉列表中添加复选框?的主要内容,如果未能解决你的问题,请参考以下文章

easyui中如何设置下拉列表框只能选择,列表框内不能输入,

如何获取select下拉框的值

jquery multiselect下拉列表复选框怎么动态添加option并赋值

jquery multiselect下拉列表复选框动态怎么动态添加option并赋值

如何在select2下拉列表中换行?

下拉列表和复选框字段按字母顺序