1. 程式人生 > >easyui中實現多個下拉列表聯動

easyui中實現多個下拉列表聯動

先看下原始碼

<script type="text/javascript" charset="UTF-8">
	$(function() {
		var provinceId = $('#provinceId').combobox({
			url : 'provinceAction',
			editable : true,
			valueField : 'proname',
			textField : 'province',
			width:'150',
			onSelect : function(record) {
				//重新整理資料,重新讀取省份下的城市,並清空當前輸入的值
				cityId.combobox({
					disabled : false,
					method : 'post',
					url : 'cityAction?province=' + record.province,
					valueField : 'city',
					textField : 'cityname'
				}).combobox('clear');
			}
		});

		var cityId = $('#cityId').combobox({
			disabled : false,
			editable : false,
			width:'150',
			url : 'cityAction?province=' + provinceId.val(),
			valueField : 'cityname',
			textField : 'city',
			onSelect : function(record) {
				//重新整理資料,重新讀取省份下的城市,並清空當前輸入的值
				hosId.combobox({
					disabled : false,
					method : 'post',
					url : 'hosAction?city=' + record.city,
					valueField : 'hospitalid',
					textField : 'hospitalname'
				}).combobox('clear');
			}
		});

		var hosId = $('#hosId').combobox({
			disabled : false,
			url : 'hosAction?city=' + cityId.val(),
			valueField : 'hospitalid',
			textField : 'hospitalname',
			width:'150'
		});
		
		var departmentid = $('#departmentid').combobox({
			disabled : false,
			width:'150'
		});
	});
</script>
package com.healthcloud.framework.subsystem.guiding.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.annotation.Resource;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;

import com.healthcloud.framework.core.base.action.BaseAction;
import com.healthcloud.framework.subsystem.guiding.service.ProvinceService;
import com.healthcloud.framework.subsystem.model.Province;

//@Controller //標註控制層的主鍵
@ParentPackage("json-default")
public class ProvinceAction extends BaseAction 
{

    private static final long serialVersionUID = 1L;

	@Resource
    private ProvinceService provinceService;

    @Action(value = "provinceAction",  params= { "contentType", "text/html" })
    @Override
    public String execute() 
    {
    	try 
    	{
    		//System.out.println("hhhhh");
       	    httpServletResponse.setCharacterEncoding("UTF-8");  
   		    PrintWriter out = httpServletResponse.getWriter();
   		    JSONObject jsonobj = new JSONObject();
   		    JSONArray jsonArray = new JSONArray();
   		    List<Province> provinceList = provinceService.findAll();
   		    for (Province pro : provinceList) 
   		    {
                jsonobj.put("proname", pro.getProvincename());  
                jsonobj.put("province", pro.getProvincename());  
                jsonobj=JSONObject.fromObject(jsonobj);
                jsonArray.add(jsonobj);
            }
            out.print(jsonArray);  
            out.flush();  
            out.close(); 
   	    }
    	catch (IOException e) 
    	{
   		    // TODO Auto-generated catch block
   		    e.printStackTrace();
   	    }   
	    return null;
    }
}


package com.healthcloud.framework.subsystem.guiding.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.annotation.Resource;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;

import com.healthcloud.framework.core.base.action.BaseAction;
import com.healthcloud.framework.core.base.search.Search;
import com.healthcloud.framework.subsystem.guiding.service.CityService;
import com.healthcloud.framework.subsystem.model.City;

//@Controller //標註控制層的主鍵
@ParentPackage("json-default")
public class CityAction extends BaseAction 
{

    private static final long serialVersionUID = 1L;
    private String province;

	public String getProvince() 
	{
	    return province;
    }

    public void setProvinve(String province) 
    {
	    this.province = province;
    }

	@Resource
    private CityService cityService;
    
    public CityService getCityService()
    {
		return cityService;
	}

	public void setCityService(CityService cityService) 
	{
		this.cityService = cityService;
	}

    @Action(value = "cityAction",  params= { "contentType", "text/html" })
    @Override
    public String execute() 
    {
    
    	try 
    	{
          	 httpServletResponse.setCharacterEncoding("UTF-8");  
      		 PrintWriter out = httpServletResponse.getWriter();
      		 JSONObject jsonobj = new JSONObject();
      		 JSONArray jsonArray = new JSONArray();
      		 province=new String(ServletActionContext.getRequest().getParameter("province").getBytes("ISO-8859-1"),"UTF-8");
      		 Search search = new Search();
        	 search.addFilterEqual("proname", province);
        	 List<City> cityList = cityService.search(search);
      		 for (City city : cityList) 
      		 {
                 jsonobj.put("cityname", city.getCityname());  
                 jsonobj.put("city", city.getCityname());  
                 jsonobj=JSONObject.fromObject(jsonobj);
                 jsonArray.add(jsonobj);
             }
             out.print(jsonArray);  
             out.flush();  
             out.close(); 
      	} 
    	catch (IOException e) 
    	{
      		// TODO Auto-generated catch block
      		e.printStackTrace();
      	}
    	
    	return null;
    }
}