zoukankan      html  css  js  c++  java
  • 列车时刻表查询 jqm/ajax/xml

    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>liechebiao.html</title>
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <link rel="stylesheet" href="css/jquery.mobile-1.4.3.css">
    <script src="js/jquery-1.11.1.js"></script>
    <script src="js/jquery.mobile-1.4.3.js"></script>
    <style>
    #btn{background-color:rgba(255,255,255,0.3);color:#ccc;}
    #back{display:block;margin:0 auto;}
    </style>
    <script>
    var url1 = "http://crossorigin.me/http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getStationAndTimeByStationName?UserID=";//通过发车站和终点站查询
    var url2 = "http://crossorigin.me/http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getStationAndTimeDataSetByLikeTrainCode?UserID=";//通过车次来查询
    var url3 = "http://crossorigin.me/http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?UserID=";
    //请求加载详情:
    var isAjax=false; //ajax使用小技巧
    function city(Id){
    $.mobile.loading("show"); //加载图标显示出来
    if(isAjax) return; //如果为true,则正在加载,再点击多次都不会执行。
    isAjax=true; //开始之前设为true
    $.ajax({
    type:'get',
    url:url3,
    data:{TrainCode:$("#num"+Id).text()},
    timeout:30000,
    success:function(data){
    isAjax=false; //加载成功后设为false,此时又开始加载了
    var info=$(data).find("TrainDetailInfo");
    var trip="";
    for(var i in info){ //解析xml文件
    trip+='<tr><td>'+$(info).eq(i).find("TrainStation").text()+'</td><td>'+$(info).eq(i).find("StartTime").text()+'</td><td>'+$(info).eq(i).find("ArriveTime").text()+'</td></tr>'
    $("#table").find("tbody").empty().append(trip);

    }
    $.mobile.changePage("#index1"); //跳转到下一个页面
    $.mobile.loading("hide"); //加载的图标隐藏起来

    }
    });

    }

    $(document).on("pageinit","#index",function(){//页面初始化之后
    $("#search_btn").on("click",function(){ //发送请求之前先校验
    if($("#start").val()&&$("#end").val()||$("#num").val()){
    var btn=$(this);
    btn.button("option","disable",true);//设置搜索按钮不可再次点击
    $.mobile.loading("show"); //设置加载图标显示
    var url=url2 //默认url为url2,先判断再发送请求
    var data={};
    if($("#num").val()){ //如果填了车此次信息,就加在url2,
    var data={TrainCode:$("#num").val()};
    }
    else{ //如果没填了车此次信息,就加在url1
    var url=url1
    var data={StartStation:$("#start").val(),ArriveStation:$("#end").val()};
    }
    $.ajax({
    url:url,
    type:'get',
    data:data,
    success:function(data){

    var timeTables = $(data).find("TimeTable");
    var detail="";
    for(var i=0;i<timeTables.length;i++){
    if(i>10) //第10条信息后面的就不要了
    return false;

    if(timeTables.find("FirstStation").text()=="数据没有被发现"){
    alert("数据没有被发现");
    return false;
    }

    detail+='<li><a href="###" onclick="city('+i+')" id="num'+i+'">'+$(timeTables).eq(i).find("TrainCode").text()+'</a><span>'+$(timeTables).eq(i).find("StartStation").text()+'--</span><span>'+$(timeTables).eq(i).find("ArriveStation").text()+'</span><br><span>'+$(timeTables).eq(i).find("StartTime").text()+'--</span><span>'+$(timeTables).eq(i).find("ArriveTime").text()+'</span><br><span>用时:'+$(timeTables).eq(i).find("UseDate").text()+'</span></li>';

    $("#list").html(detail);
    $("#list").listview("refresh");
    $.mobile.loading("hide");
    btn.button("option","disable",false);
    }
    }
    });

    }else{
    alert("请输入出发站和终点站或者输入车次!");
    }
    });


    });
    </script>
    </head>
    <body>
    <div data-role="page" id="index">
    <div data-role="header" data-position="fixed">
    <h1>列车时刻表查询</h1>
    </div>
    <div role="main" class="ui-content">
    <form action="###" methor="post" id="car_form">
    <div class="ui-field-contain">
    <label for="start">出发站</label>
    <input type="text" name="start" id="start">
    </div>
    <div class="ui-field-contain">
    <label for="end">终点站</label>
    <input type="text" name="end" id="end">
    </div>
    <div class="ui-field-contain">
    <label for="num">车次</label>
    <input type="text" name="num" id="num">
    </div>
    </form>
    <input type="submit" value="搜索" id="search_btn">
    <ul data-role="listview" data-inset="true" id="list"></ul>
    </div>
    <div data-role="footer" data-position="fixed">
    <div data-role="navbar">
    <ul>
    <li><a href="#index1" data-icon="grid" class="ui-btn-active">查询</a></li>
    <li><a href="javascript:void(0)" data-icon="star">收藏</a></li>
    <li><a href="javascript:void(0)" data-icon="gear">设置</a></li>
    </ul>
    </div>
    </div>
    </div>

    <div data-role="page" id="index1">
    <div data-role="header" data-position="fixed">
    <h1>列车时刻表查询</h1>
    </div>
    <div role="main" class="ui-icon">
    <table data-role="table" data-mode="reflow" class="ui-responsive table-stroke" id="table">
    <thead>
    <tr>
    <th>站点</th>
    <th>到站时间</th>
    <th>出发时间</th>
    </tr>
    </thead>
    <tbody></tbody>
    </table>

    </div>
    <div data-role="footer" data-position="fixed">
    <a href="#" class="ui-btn ui-corner-all" data-rel="back" id="back">返回</a>
    </div>
    </div>
    </body>
    </html>

  • 相关阅读:
    HashMap
    Spring事务异常回滚,捕获异常不抛出就不会回滚(转载) 解决了我一年前的问题
    脏读 不可重复读 幻读
    冒泡优化
    Class.forName的作用以及为什么要用它【转】
    java反射入门
    Java异常分类 转载
    转载 【CSS进阶】伪元素的妙用--单标签之美
    转载文章 利用旋转正方形与图形的组合实现爱心
    Three.js基础学习【修改版】
  • 原文地址:https://www.cnblogs.com/annie211/p/6028262.html
Copyright © 2011-2022 走看看