今天用到把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)