带省市区信息修改功能,需要先把省市区原数据select下拉显示,JQuery实现

修改之前可获取到省市区等对应的Id,传给修改信息页面,在修改信息页面之前获取到全部的省市区,显示到下拉,并选中对应Id的省市区。


修改信息页面中:

<body οnlοad="shows(${zsadminuser.proid},${zsadminuser.cityid});">  //request中取得修改之前省市的id
function shows (proId,cityid,roleid) {
	    			
        			$.post("<%=path%>/admin/AdminUserAction!getAllProvince", function(data) {
    				$("#province option[value!='']").remove();
    				var jsonObj = eval("(" + data + ")");  //获得后台传过来的json对象值
    				for ( var i = 0; i < jsonObj.length; i++) {  //迭代
    				var $option = $("<option></option>");			
    				$option.attr("value", (i + 1));   //给下拉赋值
    				var row = jsonObj[i];  
    				for ( var p in row)
    					$option.text(row[p]);
    				$("#province").append($option);
    			 } 
    			var defaultsprovince_selector="#province option[value="+proId+"]";  //获得proid对应的下拉option
    			$(defaultsprovince_selector).attr("selected",true);  //给它选中显示
    		 });
					//处理城市显示,根据省份查询省份下的所属城市
        			if(cityid!=null){  
							$.post("<%=path%>/admin/AdminUserAction!getCityByPid",{
								proid : proId  //传递省份ID到后台
							}, function(data) {
								var jsonObj = eval("(" + data + ")");
								for ( var i = 0; i < jsonObj.length; i++) {
								var $option = $("<option></option>");			
									var row = jsonObj[i];
									for ( var p in row) {
										$option.attr("value", row[0]);
				 						$option.text(row[p]);
									}
									$("#city").append($option);
								 } 
								$("#city option[value="+cityid+"]").attr("selected",true); //选中cityid对应的option
							});
					 	}	
		    		}

List<Province> provinceList = provinceidao.getAllPProvince();
		JSONArray jsonArray = JSONArray.fromObject(provinceList);//把list结果转化为json对象

		try {
			response.setContentType("text/html;charset=UTF-8");
			response.getWriter().print(jsonArray.toString());  //把json对象传到JSP页面
		} catch (IOException e) {
			e.printStackTrace();
		}

public void getCityByPid(Integer proid) {
		List<City> cityList = cityidao.getByPidCitys(proid);
		JSONArray jsonArray = JSONArray.fromObject(cityList);
		try {
			response.setContentType("text/html;charset=UTF-8");
			response.getWriter().print(jsonArray.toString());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}


DIY需要科普的知识,来自伟大的度娘,

jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求

参数:

url (String) : 发送请求的URL地址.

data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示。

callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。

type (String) : (可选)官方的说明是:Type of data to be sent。其实应该为客户端请求的类型(JSON,XML,等等)

jQuery 代码:
 
 
$.post( " Ajax.aspx " , { Action:  " post " , Name:  " lulu "  },          function  (data, textStatus){              //  data 可以是 xmlDoc, jsonObj, html, text, 等等.        // this;      //  这个Ajax请求的选项配置信息,请参考jQuery.get()说到的this      alert(data.result);        },  " json " );


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值