jQuery往返城市和日期查詢實例講解
大多旅游網站上都提供了一個城市和日期輸入查詢的功能。用戶在輸入框中只需輸入城市的拼音或者簡稱就可以即時查詢到相關城市的名稱,選擇日期時則是出現兩個月的日歷控件,只需點選日期即可,整個操作簡捷明了。
本文用到了jquery ui庫的datepicker插件來控制日歷以及輸入城市提示的插件。

XHTML
<div class="qline"> <label for="arrcity">出發(fā)城市:</label><input type="text" name="arrcity" class="input" id="arrcity" /> <div id="suggest" class="ac_results"></div> <label for="city2">目的城市:</label><input type="text" name="city2" class="input" id="city2" /> <div id="suggest2" class="ac_results"> </div> </div> <div class="qline"> <label for="startdate">出發(fā)日期:</label><input type="text" name="startdate" class="input" id="startdate" /> <label for="enddate">返回日期:</label><input type="text" name="enddate" class="input" id="enddate" /> </div>
設計城市和日期的輸入框,注意使用了div#suggest和div#suggest2兩個DIV是用來顯示城市列表的,默認CSS控制為不顯示。
CSS
.input{border:1px solid #999}
.qline{line-height:24px; margin:10px}
#suggest,#suggest2{width:200px;}
.gray{color:gray;}
.ac_results {background:#fff;border:1px solid #7f9db9;position: absolute;
z-index:10000;display: none;}
.ac_results ul{margin:0;padding:0;list-style:none;}
.ac_results li a{white-space: nowrap;text-decoration:none;display:block;
color:#05a;padding:1px 3px;}
.ac_results li{border:1px solid #fff; line-height:18px}
.ac_over,.ac_results li a:hover {background:#c8e3fc;}
.ac_results li a span{float:right;}
.ac_result_tip{border-bottom:1px dashed #666;padding:3px;}
上述樣式主要是控制城市查詢的外觀,而日歷控件的樣式我們單獨使用jquery ui的樣式:
<link rel="stylesheet" type="text/css" href="css/jquery-ui.css" />
jQuery
首先要引用主要javascript:
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery-ui.js"></script> <script type="text/javascript" src="js/aircity.js"></script> <script type="text/javascript" src="js/j.suggest.js"></script>
注意aircity.js是以數組的形式儲存城市名稱等數據。j.suggest.js是控制輸入查詢城市的,大家可以直接下載使用。
主要看下頁面使用jQuery。
$(function(){
$("#arrcity").suggest(citys,{
hot_list:commoncitys,
attachObject:"#suggest"
});
$("#city2").suggest(citys,{
hot_list:commoncitys,
attachObject:"#suggest2"
});
});
上述代碼實現了輸入查詢城市,調用城市數據的功能。hot_list:commoncitys是指初始的熱門城市,attachObject:"#suggest"是設置輸入時關聯的顯示城市列表的DIV。
接下來要加入控制日歷的代碼。
我們需要控制日歷的有效日期,即顯示當前日期,在當前日期前的日期都不能選中,因為你不可能選擇已經過去的日期作為出發(fā)日期。還有就是要顯示連續(xù)的兩個月的日歷。代碼如下:
today=new Date();
var year = today.getFullYear();
var month = today.getMonth();
var day = today.getDate();
$("#startdate,#enddate").css("color","#aaa").attr("value","yyyy-mm-dd");
$("#startdate,#enddate").datepicker({
minDate: new Date(year, month, day+1),
numberOfMonths: 2,
onClose:function(){
$(this).css("color","#000");
}
});
代碼首先獲取了當前日期(即今天),然后初始日期輸入框的內容和樣式,再調用detepicker插件,設置最小日期為當前日期,設置numberOfMonths為連續(xù)的兩個月,此外當選擇日期后,調用函數將輸入框的樣式改變。將以上代碼追加到城市輸入查詢代碼的后面即可。
如此,你的城市和日期選擇功能已經實現。本文未涉及到日期的驗證,如返回日期不能小于出發(fā)日期,這個就留給大家去想吧。
以上就是如何使用jQuery實現城市查詢和日歷顯示的整個流程,希望對大家的學習有所幫助。
相關文章
jquery easyui 結合jsp簡單展現table數據示例
這篇文章主要介紹了jquery easyui 結合jsp簡單展現table數據,需要的朋友可以參考下2014-04-04
jQuery)擴展jQuery系列之一 模擬alert,confirm(一)
很多人都為了使alert系統(tǒng)的調用函數在自己的控制范圍之內,都選擇了去封裝一個屬于自己的alert組件,現在我們就動手實現一個這樣的小部件。2010-12-12
jQuery實現圖片輪播效果代碼(基于jquery.pack.js插件)
這篇文章主要介紹了jQuery實現圖片輪播效果的方法,該功能基于jquery.pack.js插件實現,涉及jQuery針對頁面元素與樣式的動態(tài)操作技巧,需要的朋友可以參考下2016-06-06
通過Jquery的Ajax方法讀取將table轉換為Json
這篇文章主要介紹了通過Jquery的Ajax方法讀取將table轉換為Json,需要的朋友可以參考下2014-05-05

