主要利用这个来实现省市区三级联动的html
我利用的是ajax,每一次onchange事件都改变相对应的select中的option,数据全是ajax请求服务器查询数据库而来的,效果还能够,在本地测试的时候速度仍是能够的,用户基本体会不到带来的轻微卡顿,还有种方式是把数据直接写在本地的js中做为数组存放起来,可是个人数据已经在数据库中,因此这种方式被我否认了,可是我认为这种方式运行速度应该比个人快。ajax
下面是JS操做select的几种用法,经常使用的我就记录一下。数据库
1.动态建立select数组
function createSelect(){服务器
var mySelect = document.createElement_x("select");
mySelect.id = "mySelect";
document.body.appendChild(mySelect);
}app
2.添加选项option测试
function addOption(){firefox
//根据id查找对象,
var obj=document.getElementByIdx_x('mySelect');htm
//添加一个选项
obj.add(new Option("文本","值")); //这个只能在IE中有效
obj.options.add(new Option("text","value")); //这个兼容IE与firefox
}对象
3.删除全部选项option
function removeAll(){
var obj=document.getElementByIdx_x('mySelect');
obj.options.length=0;
}
4.删除一个选项option
function removeOne(){
var obj=document.getElementByIdx_x('mySelect');
//index,要删除选项的序号,这里取当前选中选项的序号
var index=obj.selectedIndex;
obj.options.remove(index);
}
5.得到选项option的值
var obj=document.getElementByIdx_x('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index].value;
6.得到选项option的文本
var obj=document.getElementByIdx_x('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index].text;
7.修改选项option
var obj=document.getElementByIdx_x('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index]=new Option("新文本","新值");
8.删除select
function removeSelect(){
var mySelect = document.getElementByIdx_x("mySelect");
mySelect.parentNode.removeChild(mySelect);
}
部分转载自:http://www.cnblogs.com/dchly/archive/2012/11/07/2759250.html