600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > html 下拉多选框代码 js实现下拉复选框效果(代码实例)

html 下拉多选框代码 js实现下拉复选框效果(代码实例)

时间:2024-06-19 13:51:50

相关推荐

html  下拉多选框代码 js实现下拉复选框效果(代码实例)

本章给大家带来用js实现下拉复选框效果(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

先看看效果:

下面我们看看代码:

HTML代码:

HTML

CSS

JavaScript

jQuery

PHP

MySQL

Java

C#

C++

Pyhton

css代码:div {

display: inline-block;

}

select {

min-width: 200px;

height: 25px;

border: 1px solid #000;

}

ul {

display: none;

list-style: none;

margin: 0;

padding: 0;

border: 1px solid #000;

}

label {

display: block;

padding: 2px 10px;

white-space: nowrap;

}

ul li:hover {

background-color: #aabbcc;

}

JavaScript代码:/**

* [dropDownCk 下拉复选框]

* @param {[String]} boxId [父级元素id]

* @param {[String]} selectId [下拉选id]

* @param {[String]} hiddenId [隐藏区域id]

* @return {[Array]} [description]

*/

function dropDownCk(selectId,hiddenId) {

var boxId = "#" + boxId,

selectId = "#" + selectId,

hiddenId = "#" + hiddenId;

$(hiddenId).mouseleave(function(){ // 鼠标离开隐藏复选区域

$(this).hide();

});

$(selectId).click(function() { // 切换显示与隐藏

$(hiddenId).toggle();

});

var tagArr = []; // 接收复选字段数组

$(selectId).html("" + "请选择项目" + "");

$(hiddenId + ' label').find('input').click(function() { // 点击向数组添加元素

if ($(this).is(':checked')) {

tagArr.push($(this).parent().text());

$(selectId).html("" + tagArr.join(",") + "");

} else {

tagArr.splice(tagArr.indexOf($(this).parent().text()), 1); // 删除对应元素

if (tagArr.length == 0) {

$(selectId).html("" + "请选择项目" + "");

} else {

$(selectId).html("" + tagArr.join(",") + "");

}

}

});

return tagArr;

}

var tag1 = dropDownCk("lang1","ck1");

var tag2 = dropDownCk("lang2","ck2")

注意:当遇到选项比较多时,可以定义一个数组插入到HTML中,实现下拉的选项,可以参考三级联动的写法:玩转javascript之三级联动实例。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。