天天看點

<select>簡易的二級關聯

1.首先是表單頁面:

1 <tr>
 2     <td align="right">
 3         <label class="Validform_label">
 4             所在區縣:
 5         </label>
 6     </td>
 7     <td class="value">
 8         <select id="atcounty" name="atcounty" style="width: 150px" onchange="getDistrict(this)">
 9             </select>
10             <span class="Validform_checktip"></span>
11             <label class="Validform_label" style="display: none;">所在區縣</label>
12         </td>
13     </tr>
14 <tr>
15     <td align="right">
16         <label class="Validform_label">
17             所在街道:
18         </label>
19     </td>
20     <td class="value">
21             <select id="atdistrict" name="atdistrict" style="width: 150px">
22             </select>
23             <span class="Validform_checktip"></span>
24             <label class="Validform_label" style="display: none;">所在街道</label>
25         </td>
26 <tr>      

2.js代碼:

1   <script type="text/javascript">
 2     //編寫自定義JS代碼
 3       $(document).ready(function(){
 4           getCountry();
 5           $("#atdistrict").append("<option value='-1' selected='selected'>"+"---請選擇---"+"</option>");
 6       });
 7        function getCountry(){
 8           $.ajax({
 9             type: 'post',
10             url : 'hAqscTieupsummaryController.do?getBJCountry',
11             async: true,
12             dataType: "json",
13             success: function(data) {
14                 for(var key in data){
15                     if (key==0) {
16                         $("#atcounty").append("<option value='-1' selected='selected'>"+"---請選擇---"+"</option>");
17                         $("#atcounty").append("<option value='"+data[key].countrycode+"'>"+data[key].countryname+"</option>");
18                     }else{
19                         $("#atcounty").append("<option value='"+data[key].countrycode+"'>"+data[key].countryname+"</option>");
20                     }
21                 }
22             }
23           });
24        }
25       function getDistrict(obj){
26           $("#atdistrict").empty();    //清空二級下拉框,否則會疊加
27           $("#atdistrict").append("<option value='-1' selected='selected'>"+"---請選擇---"+"</option>");
28           var id = obj.id;
29           var options=$("#"+id+" option:selected"); //擷取選中的項
30           alert(options.text()); //拿到選中項的值
31           var countrycode = options.val();
32           alert(countrycode);
33           $.ajax({
34               type:"post",
35               url:'hAqscTieupsummaryController.do?getStreet',
36               dataType:'json',
37               data:{countrycode:countrycode},
38               success:function(data){
39                   for(var key in data){
40                     if (key==0) {
41                         //$("#atdistrict").append("<option value='-1' selected='selected'>"+"---請選擇---"+"</option>");
42                         $("#atdistrict").append("<option value='"+data[key].countrycode+"'>"+data[key].countryname+"</option>");
43                     }else{
44                         $("#atdistrict").append("<option value='"+data[key].countrycode+"'>"+data[key].countryname+"</option>");
45                     }
46                 }
47               }
48           });
49       }
50   </script>      

3.java背景代碼(SpringMvc):

1     /**
 2      * 區縣
 3      * @param request
 4      * @return
 5      */
 6     @RequestMapping(params="getBJCountry")
 7     @ResponseBody
 8     public List<BjcountryEntity> getBJCountry(HttpServletRequest request){
 9         List<BjcountryEntity> countrys = dao.getCountry();
10         return countrys;
11     }
12     /**
13      * 街道
14      * @param request
15      * @return
16      */
17     @RequestMapping(params="getStreet")
18     @ResponseBody
19     public List<BjcountryEntity> getStreet(HttpServletRequest request){
20         String id = request.getParameter("countrycode");
21         if (id!="") {
22             String code = id.substring(0, 6);
23             String sql = "from BjcountryEntity t0 where countrycode not like '110%000000' and countrycode like '"+code+"%' order by ordercode";
24             @SuppressWarnings("unchecked")
25             List<BjcountryEntity> streets = comDao.findHql(sql);
26             return streets;
27         }
28         return null;
29     }      

4.entity實體類:

1 package com.towery.thermal.tieup.entity;
  2 
  3 import java.math.BigDecimal;
  4 import java.util.Date;
  5 import java.lang.String;
  6 import java.lang.Double;
  7 import java.lang.Integer;
  8 import java.math.BigDecimal;
  9 import javax.xml.soap.Text;
 10 import java.sql.Blob;
 11 import javax.persistence.Column;
 12 import javax.persistence.Entity;
 13 import javax.persistence.GeneratedValue;
 14 import javax.persistence.GenerationType;
 15 import javax.persistence.Id;
 16 import javax.persistence.Table;
 17 import org.hibernate.annotations.GenericGenerator;
 18 import javax.persistence.SequenceGenerator;
 19 import org.jeecgframework.poi.excel.annotation.Excel;
 20 
 21 /**   
 22  * @Title: Entity
 23  * @Description: 曲線表
 24  * @author onlineGenerator
 25  * @date 2018-01-16 12:52:46
 26  * @version V1.0   
 27  *
 28  */
 29 @Entity
 30 @Table(name = "BJCountry", schema = "")
 31 @SuppressWarnings("serial")
 32 public class BjcountryEntity implements java.io.Serializable {
 33     /**主鍵*/
 34     private java.lang.String id;
 35     /**建立人名稱*/
 36     private java.lang.String createName;
 37     /**建立人登入名稱*/
 38     private java.lang.String createBy;
 39     /**建立日期*/
 40     private java.util.Date createDate;
 41     /**更新人名稱*/
 42     private java.lang.String updateName;
 43     /**更新人登入名稱*/
 44     private java.lang.String updateBy;
 45     /**更新日期*/
 46     private java.util.Date updateDate;
 47     /**所屬部門*/
 48     private java.lang.String sysOrgCode;
 49     /**所屬公司*/
 50     private java.lang.String sysCompanyCode;
 51     /**流程狀态*/
 52     private java.lang.String bpmStatus;
 53     /**區縣名稱*/
 54     @Excel(name="區縣名稱")
 55     private java.lang.String countryname;
 56     /**區縣編碼*/
 57     @Excel(name="區縣編碼")
 58     private java.lang.String countrycode;
 59     /**排序字段*/
 60     @Excel(name="排序字段")
 61     private java.lang.String ordercode;
 62     
 63     /**
 64      *方法: 取得java.lang.String
 65      *@return: java.lang.String  主鍵
 66      */
 67     @Id
 68     @GeneratedValue(generator = "paymentableGenerator")
 69     @GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
 70     @Column(name ="ID",nullable=false,length=36)
 71     public java.lang.String getId(){
 72         return this.id;
 73     }
 74 
 75     /**
 76      *方法: 設定java.lang.String
 77      *@param: java.lang.String  主鍵
 78      */
 79     public void setId(java.lang.String id){
 80         this.id = id;
 81     }
 82     /**
 83      *方法: 取得java.lang.String
 84      *@return: java.lang.String  建立人名稱
 85      */
 86     @Column(name ="CREATE_NAME",nullable=true,length=50)
 87     public java.lang.String getCreateName(){
 88         return this.createName;
 89     }
 90 
 91     /**
 92      *方法: 設定java.lang.String
 93      *@param: java.lang.String  建立人名稱
 94      */
 95     public void setCreateName(java.lang.String createName){
 96         this.createName = createName;
 97     }
 98     /**
 99      *方法: 取得java.lang.String
100      *@return: java.lang.String  建立人登入名稱
101      */
102     @Column(name ="CREATE_BY",nullable=true,length=50)
103     public java.lang.String getCreateBy(){
104         return this.createBy;
105     }
106 
107     /**
108      *方法: 設定java.lang.String
109      *@param: java.lang.String  建立人登入名稱
110      */
111     public void setCreateBy(java.lang.String createBy){
112         this.createBy = createBy;
113     }
114     /**
115      *方法: 取得java.util.Date
116      *@return: java.util.Date  建立日期
117      */
118     @Column(name ="CREATE_DATE",nullable=true,length=20)
119     public java.util.Date getCreateDate(){
120         return this.createDate;
121     }
122 
123     /**
124      *方法: 設定java.util.Date
125      *@param: java.util.Date  建立日期
126      */
127     public void setCreateDate(java.util.Date createDate){
128         this.createDate = createDate;
129     }
130     /**
131      *方法: 取得java.lang.String
132      *@return: java.lang.String  更新人名稱
133      */
134     @Column(name ="UPDATE_NAME",nullable=true,length=50)
135     public java.lang.String getUpdateName(){
136         return this.updateName;
137     }
138 
139     /**
140      *方法: 設定java.lang.String
141      *@param: java.lang.String  更新人名稱
142      */
143     public void setUpdateName(java.lang.String updateName){
144         this.updateName = updateName;
145     }
146     /**
147      *方法: 取得java.lang.String
148      *@return: java.lang.String  更新人登入名稱
149      */
150     @Column(name ="UPDATE_BY",nullable=true,length=50)
151     public java.lang.String getUpdateBy(){
152         return this.updateBy;
153     }
154 
155     /**
156      *方法: 設定java.lang.String
157      *@param: java.lang.String  更新人登入名稱
158      */
159     public void setUpdateBy(java.lang.String updateBy){
160         this.updateBy = updateBy;
161     }
162     /**
163      *方法: 取得java.util.Date
164      *@return: java.util.Date  更新日期
165      */
166     @Column(name ="UPDATE_DATE",nullable=true,length=20)
167     public java.util.Date getUpdateDate(){
168         return this.updateDate;
169     }
170 
171     /**
172      *方法: 設定java.util.Date
173      *@param: java.util.Date  更新日期
174      */
175     public void setUpdateDate(java.util.Date updateDate){
176         this.updateDate = updateDate;
177     }
178     /**
179      *方法: 取得java.lang.String
180      *@return: java.lang.String  所屬部門
181      */
182     @Column(name ="SYS_ORG_CODE",nullable=true,length=50)
183     public java.lang.String getSysOrgCode(){
184         return this.sysOrgCode;
185     }
186 
187     /**
188      *方法: 設定java.lang.String
189      *@param: java.lang.String  所屬部門
190      */
191     public void setSysOrgCode(java.lang.String sysOrgCode){
192         this.sysOrgCode = sysOrgCode;
193     }
194     /**
195      *方法: 取得java.lang.String
196      *@return: java.lang.String  所屬公司
197      */
198     @Column(name ="SYS_COMPANY_CODE",nullable=true,length=50)
199     public java.lang.String getSysCompanyCode(){
200         return this.sysCompanyCode;
201     }
202 
203     /**
204      *方法: 設定java.lang.String
205      *@param: java.lang.String  所屬公司
206      */
207     public void setSysCompanyCode(java.lang.String sysCompanyCode){
208         this.sysCompanyCode = sysCompanyCode;
209     }
210     /**
211      *方法: 取得java.lang.String
212      *@return: java.lang.String  流程狀态
213      */
214     @Column(name ="BPM_STATUS",nullable=true,length=32)
215     public java.lang.String getBpmStatus(){
216         return this.bpmStatus;
217     }
218 
219     /**
220      *方法: 設定java.lang.String
221      *@param: java.lang.String  流程狀态
222      */
223     public void setBpmStatus(java.lang.String bpmStatus){
224         this.bpmStatus = bpmStatus;
225     }
226     /**
227      *方法: 取得java.lang.String
228      *@return: java.lang.String  區縣名稱
229      */
230     @Column(name ="COUNTRYNAME",nullable=true,length=50)
231     public java.lang.String getCountryname(){
232         return this.countryname;
233     }
234 
235     /**
236      *方法: 設定java.lang.String
237      *@param: java.lang.String  區縣名稱
238      */
239     public void setCountryname(java.lang.String countryname){
240         this.countryname = countryname;
241     }
242     /**
243      *方法: 取得java.lang.String
244      *@return: java.lang.String  區縣編碼
245      */
246     @Column(name ="COUNTRYCODE",nullable=true,length=50)
247     public java.lang.String getCountrycode(){
248         return this.countrycode;
249     }
250 
251     /**
252      *方法: 設定java.lang.String
253      *@param: java.lang.String  區縣編碼
254      */
255     public void setCountrycode(java.lang.String countrycode){
256         this.countrycode = countrycode;
257     }
258     /**
259      *方法: 取得java.lang.String
260      *@return: java.lang.String  排序字段
261      */
262     @Column(name ="ORDERCODE",nullable=true,length=32)
263     public java.lang.String getOrdercode(){
264         return this.ordercode;
265     }
266 
267     /**
268      *方法: 設定java.lang.String
269      *@param: java.lang.String  排序字段
270      */
271     public void setOrdercode(java.lang.String ordercode){
272         this.ordercode = ordercode;
273     }
274 }      

5.資料庫資料結構:

&lt;select&gt;簡易的二級關聯
&lt;select&gt;簡易的二級關聯

6.效果圖:

&lt;select&gt;簡易的二級關聯
&lt;select&gt;簡易的二級關聯
&lt;select&gt;簡易的二級關聯
&lt;select&gt;簡易的二級關聯

轉載于:https://www.cnblogs.com/lfyu/p/8296097.html