北漂IT民工 的博客

用javascript里创建select的通用办法

搜索互联网上,看到的创建select的办法五花八门,但是都认为无法实现firefox与ie的通用创建办法。

我查了一下犀牛书。讲解了一个简单的通用的创建的方法。

我将这个方法抄下来,就成了下面的函数。

只要传进去相应的两个数组,就可以创建出来一个完整的select节点。

其中,

val:

option的可能的值的数组,

name:

显示出来的文字的数组,

def:

默认的val的值。



var createSelect = function(val, name, def){

var select = document.createElement(‘select’);

for(var i = 0; i < val.length; i++){

select.options[select.options.length] = new Option(name[i], val[i], def == val[i], def == val[i]);

}

return select;

}



示例:



var vals = [1, 2, 3, 4];

var names = [‘春‘, ’夏’, ‘秋‘, ’冬’];

var select = createSelect(vals, names, 1);

document.appendChild(select);



非常实用的创建select的办法。

绝对简单实用。不搞一些乱七八糟的花样。

一目了解,轻松使用。兼容性倍棒!

显示的兼容性问题不大,

具体在IE6下面有一个javascript的兼容性问题,会导致selectedIndex的值有所不同。

需要注意。