本文整理JavaScript中针对Select下拉列表的常见操作方法,涵盖判断选项是否存在、动态添加与删除选项、修改选项文本、设置选中状态以及获取当前选中项的值和索引等实用代码片段,帮助开发者快速处理表单交互逻辑。
判断选项是否存在
// 1. 检查 select 选项中是否包含 Value="paraValue" 的 Item
function jsSelectIsExitItem(objSelect, objItemValue) {
var isExit = false;
for (var i = 0; i < objSelect.options.length; i++) {
if (objSelect.options[i].value == objItemValue) {
isExit = true;
break;
}
}
return isExit;
}
添加下拉选项
// 2. 向 select 选项中添加一个 Item
function jsAddItemToSelect(objSelect, objItemText, objItemValue) {
// 检查是否存在
if (jsSelectIsExitItem(objSelect, objItemValue)) {
alert("该Item的Value值已经存在");
} else {
var varItem = new Option(objItemText, objItemValue);
objSelect.options.add(varItem);
alert("成功加入");
}
}
删除指定选项
// 3. 从 select 选项中删除一个 Item
function jsRemoveItemFromSelect(objSelect, objItemValue) {
// 检查是否存在
if (jsSelectIsExitItem(objSelect, objItemValue)) {
for (var i = 0; i < objSelect.options.length; i++) {
if (objSelect.options[i].value == objItemValue) {
objSelect.options.remove(i);
break;
}
}
alert("成功删除");
} else {
alert("该select中 不存在该项");
}
}
删除选中项
// 4. 删除 select 中选中的项
function jsRemoveSelectedItemFromSelect(objSelect) {
var length = objSelect.options.length - 1;
for(var i = length; i >= 0; i--){
if(objSelect[i].selected == true){
objSelect.options[i] = null;
}
}
}
修改选项文本
// 5. 修改 select 选项中 value="paraValue" 的 text 为 "paraText"
function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {
// 检查是否存在
if (jsSelectIsExitItem(objSelect, objItemValue)) {
for (var i = 0; i < objSelect.options.length; i++) {
if (objSelect.options[i].value == objItemValue) {
objSelect.options[i].text = objItemText;
break;
}
}
alert("成功修改");
} else {
alert("该select中 不存在该项");
}
}
按文本设置选中
// 6. 设置 select 中 text="paraText" 的第一个 Item 为选中
function jsSelectItemByValue(objSelect, objItemText) {
// 检查是否存在
var isExit = false;
for (var i = 0; i < objSelect.options.length; i++) {
if (objSelect.options[i].text == objItemText) {
objSelect.options[i].selected = true;
isExit = true;
break;
}
}
// 显示结果
if (isExit) {
alert("成功选中");
} else {
alert("该select中 不存在该项");
}
}
按值设置选中
// 7. 设置 select 中 value="paraValue" 的 Item 为选中
document.all.objSelect.value = objItemValue;
获取选中项信息
// 8. 获取 select 的当前选中项的 value
var currSelectValue = document.all.objSelect.value;
// 9. 获取 select 的当前选中项的 text
var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;
// 10. 获取 select 的当前选中项的 Index
var currSelectIndex = document.all.objSelect.selectedIndex;
清空下拉列表
// 11. 清空 select 的项
document.all.objSelect.options.length = 0;