一、select多选框赋值
select多选框也称作下拉多选框,通过设置option的selected属性来指定被选中的项。示例代码如下:
苹果
橘子
香蕉
梨
以上代码中,通过设置option元素的selected属性来指定被选中的项。表示初始值为苹果和香蕉两项。
二、select多选框内容移动
常常需要在两个多选框之间进行内容的移动,将一个多选框中的内容移动到另一个多选框中。示例代码如下:
苹果
橘子
香蕉
梨
<input type="button" value="→" onclick="moveSelection('srcSelect', 'destSelect')">
<script>
function moveSelection(sourceId, targetId){
var src = document.getElementById(sourceId);
var dest = document.getElementById(targetId);
for(var i=0; i<src.options.length; i++){
if(src.options[i].selected){
dest.appendChild(src.options[i]);
i--;
}
}
}
</script>
以上代码中,使用JavaScript实现了将一个多选框中的内容移动到另一个多选框中。通过在源多选框中选中需移动的项,然后点击→按钮,即可将选中的项移动到目标多选框中。
三、select多选框在ie为啥出现了光标
在IE浏览器中,当多选框的样式设置为display:none或者visibility:hidden时,会出现光标问题。解决方法如下:
苹果
橘子
香蕉
梨
<input type="button" value="选择水果" onclick="showSelect()">
<script>
function showSelect(){
var select = document.getElementById('fruitSelect');
var div = document.getElementById('fruitDiv');
if(div.style.display == 'none'){
div.innerHTML = select.outerHTML;
div.style.display = 'block';
var options = div.getElementsByTagName('option');
for(var i=0; i<options.length; i++){
if(options[i].selected){
options[i].setAttribute('selected', 'selected');
}
}
select.name = '';
}else{
select.name = 'fruit';
var selectedOptions = div.getElementsByTagName('select')[0].getElementsByTagName('option');
for(var i=0; i<selectedOptions.length; i++){
if(selectedOptions[i].selected){
selectedOptions[i].setAttribute('selected', 'selected');
}
}
select.outerHTML = div.innerHTML;
div.style.display = 'none';
}
}
</script>
以上代码中,通过将多选框隐藏,并在点击按钮时将其复制到一个div中显示,以避免出现光标问题。
四、select多选框回显
在多选框提交表单后,如果需要回显用户之前选过的值,可以使用以下代码:
<option value="apple" =0?"selected":""%>>苹果
<option value="orange" =0?"selected":""%>>橘子
<option value="banana" =0?"selected":""%>>香蕉
<option value="pear" =0?"selected":""%>>梨
以上代码中,通过判断数组fruit中是否包含每一个选项的值,如果包含则设置option的selected属性为true,否则为false。
五、select多选框获取值
可以通过以下代码获取多选框中选中的项的值:
var select = document.getElementsByName("fruit")[0];
var selectedValues = [];
for(var i=0; i<select.options.length; i++){
if(select.options[i].selected){
selectedValues.push(select.options[i].value);
}
}
console.log(selectedValues);
以上代码中,通过遍历所有选项,将被选中的选项的值保存到数组中,以便后续使用。
六、select多选框获取最后点击的数据
可以通过下面的代码获取最后点击的选项的值:
var select = document.getElementsByName("fruit")[0];
var lastSelectedValue;
select.onmousedown = function(){
lastSelectedValue = this.value;
}
console.log(lastSelectedValue);
以上代码中,通过给select注册onmousedown事件,在鼠标点击时保存当前点击的选项的值,以便后续使用。
七、选择select
可以通过下面的代码实现选择一个option:
var select = document.getElementsByName("fruit")[0];
select.selectedIndex = 2;
console.log(select.value);
以上代码中,将selectedIndex属性设置为2,即可选中第3个选项,从而实现选择。
八、select选择框默认值
可以通过给option设置selected属性来设置select选择框的默认值。
苹果
橘子
香蕉
梨
九、select标签多选
使用multiple属性即可实现select标签的多选功能。
苹果
橘子
香蕉
梨
以上就是对select多选框的详细阐述,包括赋值、内容移动、光标问题、回显、获取值、获取最后点击的数据、选择、默认值和多选等多个方面。

