动态删除select中的所有options:
document.getElementById("ddlResourceType").options.length=0;
动态删除select中的某一项option:
document.getElementById("ddlResourceType").options.remove(indx);
//就是这句不兼容了,Firefox是不懂 remove 这个方法的,所以会报错了,当然也移除不了了
动态添加select中的项option:
document.getElementById("ddlResourceType").options.add(new Option(text,value));
上面在IE和FireFox都能测试成功,希望以后你可以用上。
其实用标准的DOM操作也可以,就是document.createElement,appendChild,removeChild之类的。
取值方面:
this.options[this.options.selectedIndex].value
function getvalue(obj)
{
var m=obj.options[obj.selectedIndex].value
alert(m);//获取value
var n=obj.options[obj.selectedIndex].text
alert(n);//获取文本
}
不兼容的remove方法,可以用下面的代替:
sObj.removeChild(sObj.options[indx]);
这样,上面这句就做到兼容了.
其他的代码都没有问题,可以兼容.
1 检测是否有选中
if (objSelect.selectedIndex > - 1 ) {
// 说明选中
} else {
// 说明没有选中
}
2 删除被选中的项
objSelect.options[objSelect.selectedIndex] = null ;
3 增加项
objSelect.options[objSelect.length] = new Option( " 你好 " , " hello " );
4 修改所选择中的项
objSelect.options[objSelect.selectedIndex] = new Option( " 你好 " , " hello " );
5 得到所选择项的文本
objSelect.options[objSelect.selectedIndex].text;
6 得到所选择项的值
objSelect.options[objSelect.selectedIndex].value;
兼容IE6
- //第一种:
- var op=document.createElement("option"); // 新建OPTION (op)
- select.appendChild(op);
- op.text = 'hello world';
- op.value =3;
-
- //第二种:
- var op=document.createElement("option"); // 新建OPTION (op)
- op.setAttribute("value",0); // 设置VALUE
- op.appendChild(document.createTextNode("请选择")); // 设置TEXT
- select.appendChild(op);