2013-12-16 71 views
1

誰能幫助我從和的http://dev.ther8server.comjQuery的datapicker不工作的第二次點擊

節中找到背後日期選擇器的問題,當我從日期點擊並選擇一個日期,然後再次單擊從日期選擇不彈出。我需要點擊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> 
+0

你應該把相關的代碼在你的問題。 – fbynite

+0

@fbynite - 我發佈了,謝謝。 – Kerry

+0

SSL錯誤。跑!!! – amenadiel

回答

1

首先,我不太你爲什麼要使用這麼多的代碼來管理兩個簡單datepickers,而不是僅僅使用jQueryUI's default得到。

其次,我可以看到你打開日期選擇器輸入端上的用戶點擊後,但結合鏈接到焦點事件,而不是點擊事件。

當您選擇隱藏日期選擇器的日期和以編程方式觸發焦點事件將光標返回到輸入。問題是,焦點事件只會觸發一次。它不會再點擊一個焦點元素再次觸發。直到你通過點擊外部模糊事件。

your script的快速和骯髒的建議。變化:

input.bind('focus',function(){ 
       showDatepicker(); 
      }) 

input.bind('click',function(){ 
      showDatepicker(); 
     }) 
+0

哇!精彩,其固定。大。謝謝 – Kerry

+1

讓upvotes來\ o/ – amenadiel

+0

我做了我的... :) – Kerry