function f() { new Ajax.Request("servlet/GetProvinceServlet", { method : "post", onSuccess : function(req) { var provinces = req.responseText.evalJSON(); for (i = 0; i < provinces.length; i++) { var province = provinces[i]; var op1 = new Option(province.name, i); $('s1').options[i] = op1; } f1(); } }); } function getXmlHttpRequest() { var xmlHttpRequest = null; if ((typeof XMLHttpRequest) != 'undefined') { xmlHttpRequest = new XMLHttpRequest(); } else { xmlHttpRequest = new ActiveXObject('Microsoft.XMLHttp'); } return xmlHttpRequest; } function f1() { var xmlReq = getXmlHttpRequest(); var url = "servlet/GetCityServlet"; xmlReq.open("post", url, true); xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlReq.onreadystatechange = function() {//匿名函数 if (xmlReq.readyState == 4) {//服务器响应已经完成 //alert(xmlReq.status); if (xmlReq.status == 200) {//如果服务器返回的是错误信息 var citys = xmlReq.responseText.evalJSON();//获得数据 $('s2').innerHTML = '';//清空第二个下拉列表中的类容 for (i = 0; i < citys.length; i++) { var city = citys[i]; var op1 = new Option(city.name, i); $('s2').options[i] = op1; } } else { alert("error"); } } }; xmlReq.send("prvince=" + $("s1").value); }
你这个是城市,地区的二级select组件联动,其实你f()里面op1组装的就是城市option的值,f1()里面op1组装的就是地区的option的值, 那么如果你要取得话把他们存数组就好,如果你要选定selected的值给就需要对option做处理-添加selected属性,
因为不知道你这边页面是什么逻辑,我就随便粘贴了一个大意:
$(function(){ var array = new Array();
//定义数组
$("#language option").each(function(){
//遍历所有option
var txt = $(this).val();
//获取option值
if(txt!=''){
array.push(txt);
//添加到数组中
}
})})
望采纳
代码不能格式化一下吗,看着头疼