• 份-城市,基于jQuery的AJAX二级联动,用Struts2整合AJAX【非数据库版】


    package loaderman.provincecity;
    
    import java.io.IOException;
    import java.util.LinkedHashSet;
    import java.util.Set;
    import com.opensymphony.xwork2.ActionSupport;
    
    /**
     * 控制器*/
    public class ProvinceCityAction extends ActionSupport{
        private String province;
        public void setProvince(String province) {
            this.province = province;
            //System.out.println("注入" + province);
        }
        //根据省份查询城市
        public String findCityByProvince() throws Exception {
            System.out.println("进来了");
            setCity = new LinkedHashSet<String>();
            if("湖南".equals(province)){
                setCity.add("长沙");
                setCity.add("株洲");
            }else if("广东".equals(province)){
                setCity.add("广州");
                setCity.add("中山");
                setCity.add("佛山");
            }
            return SUCCESS;
        }
        private Set<String> setCity;
        public Set<String> getSetCity() {
            return setCity;
        }
    }
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
    
       <package name="loaderman" extends="json-default" namespace="/">
       
               <!-- 根据省份查询城市 -->
               <action 
                   name="findCityByProvinceRequest"
                   class="loaderman.provincecity.ProvinceCityAction"
                   method="findCityByProvince">
            
                <result name="success" type="json"/>
                
               </action>
           
       </package>
    
    </struts>
    <%@ page language="java" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>省份-城市,基于jQuery的AJAX二级联动</title>
        <script type="text/javascript" src="js/jquery-1.8.2.js"></script>
      </head>
      <body>
        
        <select id="province">
            <option>选择省份</option>
            <option>湖南</option>
            <option>广东</option>
        </select>
        
        <select id="city">
            <option>选择城市</option>
        </select>
    
        
        <!-- 省份->城市 -->    
        <script type="text/javascript">
            //定位省份下拉框,同时添时内容改变事件
            $("#province").change( function(){
                //清空原城市下拉框中的内容,除第一项外
                $("#city option:gt(0)").remove();
                //获取选中的省份
                var province = $("#province option:selected").text();
                //如果选中的不是"选择省份"
    
                if("选择省份"!=province){
                    $.ajax( {
                        type    : "POST",
                        url     : "${pageContext.request.contextPath}/findCityByProvinceRequest?time="+new Date().getTime(),
                        data    : {"province":province},
                        success : function(backDate,textStatus,ajax){
                                    //alert(backDate!=null?"收到":"为收到");    
                                    //alert(ajax.responseText);
                                    //解析json文本
                                    var array = backDate.setCity;
                                      var size = array.length;
                                      for(var i=0;i<size;i++){
                                          var city = array[i];
                                          var $option = $("<option>"+city+"</option>");
                                          $("#city").append($option);
                                      }
                                  }
    
                    } );
                }
            } );
        </script>
    
      </body>
    </html>
  • 相关阅读:
    李宏毅机器学习课程---1、机器学习介绍
    尚学python课程---15、python进阶语法
    尚学python课程---14、python中级语法
    尚学python课程---13、python基础语法
    Android4.2.2由于越来越多的物理按键(frameworks)
    ym——Android之ListView性能优化
    我学cocos2d-x (两) 采用Delegate(信托)
    mac提升yosemite后php 扩展修复
    JAVA学习课第五 — IO流程(九)文件分割器合成器
    第11周项目-2.2
  • 原文地址:https://www.cnblogs.com/loaderman/p/10058076.html
Copyright © 2020-2023  润新知