JavaScript操作select option 下拉组合框
1、获取选中select的value和text,html
<select id="mySelect"> <option value="1">one</option> <option value="2">two</option> <option value="3">three</option> </select>
2、运用new Option(“文本”,”值”)方法添加选项option
var obj = document.getElementById("mySelect");obj.add(new Option("4","4"));
3、删除所有选项option
var obj = document.getElementById("mySelect");obj.options.length = 0;
4、删除选中选项option
var obj = document.getElementById("mySelect");var index = obj.selectedIndex;obj.options.remove(index);
5、修改选中选项option
var obj = document.getElementById("mySelect"); var index = obj.selectedIndex; obj.options[index] = new Option("three",3); //更改对应的值 obj.options[index].selected = true; //保持选中状态
6、删除select
var obj = document.getElementById("mySelect"); obj.parentNode.removeChild(obj); //移除当前对象
7、select选择的响应事件
$("#mySelect").change(function(){ //添加所需要执行的操作代码})
1.动态创建select
function createSelect(){ var mySelect = document.createElement_x("select"); mySelect.id = "mySelect"; document.body.appendChild(mySelect); }
2.添加选项option
function addOption(){ //根据id查找对象, var obj=document.getElementByIdx_x('mySelect'); //添加一个选项 obj.add(new Option("文本","值")); //这个只能在IE中有效 obj.options.add(new Option("text","value")); //这个兼容IE与firefox }
3.删除所有选项option
function removeAll(){ var obj=document.getElementByIdx_x('mySelect'); obj.options.length=0; }
4.删除一个选项option
function removeOne(){ var obj=document.getElementByIdx_x('mySelect'); //index,要删除选项的序号,这里取当前选中选项的序号 var index=obj.selectedIndex; obj.options.remove(index); }
5.获得选项option的值
var obj=document.getElementByIdx_x('mySelect'); var index=obj.selectedIndex; //序号,取当前选中选项的序号 var val = obj.options[index].value;
6.获得选项option的文本
var obj=document.getElementByIdx_x('mySelect'); var index=obj.selectedIndex; //序号,取当前选中选项的序号 var val = obj.options[index].text;
7.修改选项option
var obj=document.getElementByIdx_x('mySelect'); var index=obj.selectedIndex; //序号,取当前选中选项的序号 var val = obj.options[index]=new Option("新文本","新值");
8.删除select
function removeSelect(){ var mySelect = document.getElementByIdx_x("mySelect"); mySelect.parentNode.removeChild(mySelect); }
整个实例的完整代码如下:
<!doctype html public “-//w3c//dtd html 4.0 transitional//en”>
<html>
<head>
<title>javascript select options text value</title>
<meta name=”keywords” content=”javascript select options text value add modify delete set”>
<meta name=”description” content=”javascript select options text value add modify delete set”>
<script language=”javascript”>
<!–
function watch_ini(){ // 初始
for(var i=0; i<arguments.length; i++){
var oOption=new Option(arguments[i],arguments[i]);
document.getElementByIdx_x(“MySelect”)[i]=oOption;
}
}
function watch_add(f){ // 增加
var oOption=new Option(f.word.value,f.word.value);
f.keywords[f.keywords.length]=oOption;
}
function watch_sel(f){ // 编辑
f.word.value = f.keywords[f.keywords.selectedIndex].text;
}
function watch_mod(f){ // 修改
f.keywords[f.keywords.selectedIndex].text = f.word.value;
}
function watch_del(f){ // 删除
f.keywords.remove(f.keywords.selectedIndex);
}
function watch_set(f){ // 保存
var set = “”;
for(var i=0; i<f.keywords.length; i++){
set += f.keywords[i].text + “;”;
}
confirm(set);
}
//–>
</script>
</head>
<body>
<form name=”watch” method=”post” action=””>
<select id=”MySelect” name=”keywords” size=”10″ onchange=”watch_sel(this.form)”></select><br>
<script language=”javascript”>
<!–
watch_ini(“我”,”你”,”妳”,”他”,”她”,”它”,”尔”); // 初始关键词
//–>
</script>
<input type=”text” name=”word” /><br />
<input type=”button” value=”增加” onclick=”watch_add(this.form);” />
<input type=”button” value=”修改” onclick=”watch_mod(this.form);” />
<input type=”button” value=”删除” onclick=”watch_del(this.form);” />
<input type=”button” value=”保存” onclick=”watch_set(this.form);” />
</form>
PS:在ie上运行良好,在火狐上调试出现错误,原因如下
obj.add(new Option(“文本”,”值”)); //这个只能在IE中有效
obj.options.add(new Option(“text”,”value”)); //这个兼容IE与firefox