select的用法

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


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章