select多选 multiple的使用示例
在HTML中,`<select>`元素用于创建下拉列表,而`multiple`属性则使得用户可以在下拉列表中选择多个选项。本示例主要讲解如何使用`<select>`的`multiple`属性创建一个多选下拉框,并通过JavaScript来处理用户的选择。 `<select>`标签的`multiple`属性是关键,它告诉浏览器该下拉列表支持多选。例如: ```html <select id="mySelect" multiple="multiple" size="4"> ``` 这里的`size`属性设置为4,表示下拉列表展开时显示4个选项,方便用户预览和选择。 在HTML部分,我们创建了一个包含四个选项的下拉列表: ```html <option value='苹果'>苹果</option> <option value='桃子'>桃子</option> <option value='香蕉'>香蕉</option> <option value='桔子'>桔子</option> ``` 每个`<option>`元素都有一个`value`属性,用于存储选项的值,显示的文字则作为用户看到的文本。 为了展示用户的选择,我们在页面上添加了一个文本输入框(`<input type="text" name="output">`),并编写了JavaScript函数`checkselect()`来获取用户选定的选项值,并将其显示在文本输入框中: ```javascript function checkselect(objname) { o = document.getElementById(objname); t = document.getElementById("output"); // 获取所有选中选项的值,并用逗号分隔 var intvalue = ""; for (i = 0; i < o.length; i++) { if (o.options[i].selected) { intvalue += o.options[i].value + ","; } } // 去掉最后一个逗号 t.value = intvalue.substr(0, intvalue.length - 1); alert(intvalue); } ``` 当用户点击“checkselect”按钮时,这个函数会被调用。它遍历`<select>`元素的所有选项,检查哪些被选中,然后将这些值拼接成一个字符串,存储在`intvalue`变量中。将`intvalue`的值赋给文本输入框,并弹出一个警告框显示用户的选择。 此外,还有一个`showDiv()`函数,它用于定位和显示下拉列表: ```javascript function showDiv(id) { document.getElementById("selectOption").style.display = "block"; document.getElementById("selectOption").style.position = "absolute"; document.getElementById("selectOption").style.top = document.getElementById(id).offsetTop + 25; document.getElementById("selectOption").style.left = document.getElementById(id).offsetLeft + 20; } ``` 当用户点击“选择多个”按钮时,这个函数会将下拉列表显示在按钮下方。它通过获取按钮的位置,并将下拉列表定位在适当的位置,以提供更好的用户体验。 总结起来,这个示例展示了如何使用HTML和JavaScript创建一个可多选的下拉列表,并通过JavaScript处理用户的多选操作。对于初学者来说,这是一个很好的起点,可以帮助理解如何结合HTML、CSS和JavaScript实现交互式网页元素。