簡體   English   中英

jQuery datapicker在第二次單擊時不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM