今天用到把select的option变灰,option有个disable属性,但是在ie中这个属性好像不好使,
于是在网上找个一个js方法.此方法重写了select的onfocus和onchange方法.
但是如果把变灰的一个option重新变灰原来的状态需要如下两步操作.
optionObject.disabled=true;
optionObject. = "graytext";
变灰的js方法
window.onload = function() { if (document.getElementsByTagName) { var s = document.getElementsByTagName("select"); if (s.length > 0) { window.select_current = new Array(); for (var i=0, select; select = s[i]; i++) { select.onfocus = function(){ window.select_current[this.id] = this.selectedIndex; } select.onchange = function(){ restore(this); } emulate(select); } } } }
function restore(e) { if (e.options[e.selectedIndex].disabled) { e.selectedIndex = window.select_current[e.id]; } } function emulate(e) { for (var i=0, option; option = e.options[i]; i++) { if (option.disabled) { option.style.color = "graytext"; } else { option.style.color = "menutext"; } } }
另外增加常用
<script type="text/javascript"> window.onload = function() { if (document.getElementsByTagName) { var s = document.getElementsByTagName("select"); if (s.length > 0) { window.select_current = new Array(); for (var i=0, select; select = s[i]; i++) { select.onfocus = function(){ window.select_current[this.id] = this.selectedIndex; } select.onchange = function(){ restore(this); } emulate(select); } } } } function restore(e) { if (e.options[e.selectedIndex].disabled) { e.selectedIndex = window.select_current[e.id]; } } function emulate(e) { for (var i=0, option; option = e.options[i]; i++) { if (option.disabled) { option.style.color = "graytext"; } else { option.style.color = "menutext"; } } }</script>的关于select的方法
1.获得select数组
var selectArray= new Array();
selectArray= document.getElementById('selectID');
2.获得选中的option的值和option之间的text
var selectIndex = document.getElementById('selectID').selectedIndex;
var value = document.getElementById('selectID').options[selectIndex].value;
var selectText = document.getElementById('selectID').options[selectIndex].text;
3.增加一个option
var y=document.createElement('option');
y.text='增加的option'
var x=document.getElementById("selectID");
try
{
x.add(y,null); // standards compliant
}
catch(ex)
{
x.add(y); // IE only
}
4.删除选中的option
var x=document.getElementById("selectID")
x.remove(x.selectedIndex)