一、使用HTML创建多项选择框
1、基本语法:使用<select>标签并添加multiple属性来创建一个多项选择框,每个选项由<option>标签定义。


<select id="choices" name="choices" multiple>
<option value="option1">选项1</option>
<option value="option2">选项2</option>
<option value="option3">选项3</option>
<option value="option4">选项4</option>
</select>
2、表单提交:在表单中使用时,当用户提交表单时,所有选中的选项将以数组的形式发送到服务器。
二、CSS自定义多项选择框样式
1、基础样式:可以通过CSS设置多项选择框的宽度、高度、边框、字体大小等基本外观属性。
select {
width: 200px;
height: 100px;
border: 1px solid #ccc;
font-size: 16px;
padding: 5px;
}
2、高级样式:利用伪元素、动画等技术进一步美化选择框。
select {
width: 200px;
height: 100px;
border: 2px solid #4CAF50;
font-size: 16px;
padding: 5px;
background-color: #f9f9f9;
transition: border-color 0.3s;
}
select:hover {
border-color: #45a049;
}
三、JavaScript操作多项选择框
1、获取选中的值:通过JavaScript可以获取用户选择的值并进行相应操作。
document.getElementById('choices').addEventListener('change', function() {
const selectedOptions = Array.from(this.selectedOptions).map(option => option.value);
console.log(selectedOptions);
});
2、处理选择的值:获取选择的值后,可以用于动态更新页面内容、发送数据到服务器等。
function handleSelection() {
const selectedOptions = Array.from(document.getElementById('choices').selectedOptions).map(option => option.value);
alert('你选择了:' + selectedOptions.join(', '));
}
document.getElementById('choices').addEventListener('change', handleSelection);
3、动态添加选项:还可以使用JavaScript动态地向多项选择框中添加选项。


function addOption() {
const selectElement = document.getElementById("mySelect");
const optionElement = document.createElement("option");
optionElement.value = "option6";
optionElement.text = "选项6";
selectElement.appendChild(optionElement);
}
四、使用jQuery插件实现更丰富的功能
1、multiple-select.js插件:该插件提供了更多功能,如搜索框、全选/取消全选按钮等,使用方法如下:
HTML代码:
<select id='checkedLevel' style="width:120px;height:28px;" multiple="multiple">
<option value="1">选项1</option>
<option value="2">选项1</option>
<option value="3">选项1</option>
<option value="4">选项1</option>
<option value="5">选项1</option>
<option value="6">选项1</option>
<option value="7">选项1</option>
</select>
JS代码:
$('#checkedLevel').multipleSelect({
addTitle: true, //鼠标点悬停在下拉框时是否显示被选中的值
selectAll: false, //是否显示全部复选框,默认显示
name: "质控级别",
selectAllText: "选择全部", //选择全部的复选框的text值
allSelected: "全部", //全部选中后显示的值
placeholder: "质控级别" //不选择时下拉框显示的内容
});
//设置默认选中:其中数组中多个值用逗号分隔,值是option的value
$("#checkedLevel").multipleSelect('setSelects', [1001,1002]);
2、fSelect插件:另一种轻量级的jQuery插件,可用于创建美观的多项选择框,使用方法如下:
HTML代码:
<select id="organId" name="organId" multiple="multiple">
<option value="1">选项1</option>
<option value="2">选项1</option>
<option value="3">选项1</option>
<option value="4">选项1</option>
<option value="5">选项1</option>
<option value="6">选项1</option>
<option value="7">选项1</option>
</select>
CSS文件:需要引入相应的CSS文件来定义样式。


JS代码:在文档加载完成后初始化插件。
$(function () {
$("#organId").fSelect();
});
五、相关问答FAQs
1、问:如何同时选择或取消多项选择框中的所有选项?
答:可以使用JavaScript遍历所有选项元素,并将它们的selected属性设置为true或false来实现全选或取消全选。
function selectAllOptions() {
const options = document.querySelectorAll('#choices option');
options.forEach(option => option.selected = true);
}
function deselectAllOptions() {
const options = document.querySelectorAll('#choices option');
options.forEach(option => option.selected = false);
}
2、问:如何在多项选择框中限制用户选择的最大数量?
答:可以通过监听选择框的change事件,并在事件处理函数中检查已选择的选项数量,如果超过限制则取消多余的选择。
let maxSelections = 3; //限制最大选择数量为3
document.getElementById('choices').addEventListener('change', function() {
if (this.selectedOptions.length > maxSelections) {
this.selectedOptions[this.selectedOptions.length 1].selected = false; //取消最后一个选择的选项
alert('最多只能选择' + maxSelections + '个选项');
}
});
© 版权声明
1、本内容转载于网络,版权归原作者所有!
2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!
4、本站全资源仅供测试和学习,请勿用于非法操作,一切后果与本站无关。
5、如遇到充值付费环节课程或软件 请马上删除退出 涉及自身权益/利益 需要投资的一律不要相信,访客发现请向客服举报。
6、本教程仅供揭秘 请勿用于非法违规操作 否则和作者 官网 无关
THE END




















