2011-05-22 40 views
0

我正在使用JQuery Mobile Datebox,因爲我遇到以下問題。JQuery Mobile DateBox - 超過1個實例

我有一個頁面和頁面B.

如果我去B頁面,然後打開名爲「date2的」日期選取器,然後將其關閉,並單擊主頁鏈接,進入頁面A.

現在,我在頁面a,我打開按鈕打開日期選擇器A,稱爲「日期」...

問題是,我得到了兩個開放......這就像他們是無論是打開還是什麼。

一旦關閉,我該如何殺死日期選擇器的實例?

下面是網頁A上的相關代碼:

在頭:

<script type="text/javascript"> 
     $(document).bind("mobileinit", function(){ 
      $.mobile.page.prototype.options.degradeInputs.date = 'text'; 
     }); 
    </script> 

然後形式/日期選擇器1:

<form action="#" method="POST"> 
     <div data-role="fieldcontain" style="visibility:hidden;"> 
      <input value="" name="date" type="date" data-role="datebox" id="date" data-theme="a" data-options='{"mode": "calbox", "pickPageTheme": "a", "pickPageHighButtonTheme": "e", "setDateButtonLabel": "Calendar", "useDialogForceTrue": false, "useDialogForceFalse": true }'/> 


      </div> 
      </form> 

現在對網頁B

相關的代碼

頁首:

<script type="text/javascript"> 
     $(document).bind("mobileinit", function(){ 
      $.mobile.page.prototype.options.degradeInputs.date = 'text'; 
     }); 
    </script> 

<script language="javascript"> 
    $(document).ready(function() { 

     var queryDate = $.url.param("mydate"); 
     $('#date2').val(queryDate); 


    }); 

</script> 

而且組成部分:

<form action="save.php" method="POST"> 

      <label for="date2" style="margin:10px 0px;">Event Date:</label> 
      <input value="1/1/2011" name="date2" type="date" data-role="datebox" id="date2" data-theme="a" data-options='{"pickPageTheme": "a", "pickPageHighButtonTheme": "e", "setDateButtonLabel": "Add Date", "dateFormat": "dd/mm/YYYY"}'/> 

      <label for="textarea">Add:</label> 
       <textarea cols="40" rows="8" name="textarea" id="textarea"></textarea> 
       <input type="submit" value="Save" data-theme="a" /> 


      </form> 

任何人有任何線索,請?

感謝

+0

Satch3000對於您的大多數問題,請添加您正在嘗試的代碼,因爲它很難確定究竟是怎麼回事 – 2011-05-22 19:29:56

+0

我已經添加了代碼。感謝您的建議:) – Satch3000 2011-05-22 19:48:41

+0

從我的理解(我可能是錯的)所有的JS應該在主頁面,而不是在每個單獨的頁面 – 2011-05-23 12:52:00

回答

2

如果您使用jQuery Mobile的不使用的document.ready()爲JQM。不起作用。改用這樣的東西。 查看jqm演示以查看完整的事件列表。 Demo

$(document).live('pageshow',function() { 

     var queryDate = $.url.param("mydate"); 
     $('#date2').val(queryDate); 


    }); 

此外所有的js都應該在第一個加載的html中。在你的情況下,它的頁面A. 只是因爲後來的頁面通過ajax加載和寫入裏面的js不會被執行。

+0

感謝您的信息。 – Satch3000 2011-06-14 09:06:00