[英]jQuery datapicker not working on second click
誰能幫助我在http://dev.ther8server.com的往返部分中找到datepicker背后的問題?
當我從日期單擊並選擇一個日期,然后再次從日期選擇器單擊時,不會彈出。 我需要點擊to
,否則在身體某處,然后再次單擊from
以使其發揮作用。 我真的很難找到這個問題背后的原因。 有人可以幫我什么建議嗎? 謝謝。
僅在Chrome和Safari中存在此問題。 它在Firefox中工作正常。
HTML代碼:
<li class="date-field" id="from">
<a href="#" onclick="return false;" class="calendar">opener</a>
<input type="text" value="Check in" name="date_in" value="" />
<div class="datepicker-holder"></div>
</li>
<li class="date-field" id="to">
<a href="#" onclick="return false;" class="calendar">opener</a>
<input type="text" value="Check out" name="date_out" />
<div class="datepicker-holder"></div>
</li>
導入和JS:
<script type="text/javascript" src="/assets/js/jquery-1.8.3.min.js"></script>
<script src="/assets/js/frontend/jquery-ui-1.10.2.custom.js"></script>
<script type="text/javascript" src="/assets/js/jquery.main.js"></script>
<script type="text/javascript" src="/assets/js/main.js"></script>
<script type="text/javascript" src="/assets/js/loadmask/jquery.loadmask.js"></script>
<!--[if lt IE 9]><link rel="stylesheet" type="text/css" href="/assets/css/ie.css" /><![endif]-->
<script type="text/javascript">
var jslocale = "en-AU";
var ajaxload = "";
var search_params = {"global_keywords":"","referer_page":"","keywords":"","room":false,"date_in":"","date_out":"","hotel_id":"","destination_id":"","date_in_stamp":"","date_out_stamp":"","view_type":"","trip_rating":"","star_rating":"","min_rate":"","max_rate":"","amenities":"","sort":"","all_results":"","roomCode":"","rateCode":"","bedCode":"","allStarsSelection":"","region_id":"","lang":null,"country":null,"curr":null};
</script>
首先,我不太明白為什么您要使用這么多的代碼來管理兩個簡單的datepicker,而不僅僅是使用jQueryUI的default 。
其次,我可以看到您在用戶單擊輸入后打開了日期選擇器,但是綁定鏈接到焦點事件而不是click事件。
選擇日期時,您將隱藏日期選擇器,並以編程方式觸發焦點事件以將光標返回到輸入。 問題是,焦點事件僅觸發一次。 它不會僅通過單擊已關注的元素來再次觸發。 直到您通過單擊外部模糊事件來觸發它。
對腳本的快速而骯臟的建議。 更改:
input.bind('focus',function(){
showDatepicker();
})
至
input.bind('click',function(){
showDatepicker();
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.