2011-04-23 67 views
1

我创造与jquery.mobile-1.0a4.1发布一个应用程序。我有一个页面,它具有输入表单以获取详细信息。它有日期字段,所以我使用jquery.mobile.datebox。其演示参见http://dev.jtsage.com/。 我正面临着一个问题,当我在页面加载时为日期字段设置特定的日期值时,该值显示在文本框中。但是当用户点击日期选择器图标时,日历仍然会突出显示当天的日期并仅显示当前的月份。如何设置jQuery Mobile的datebox控制特定日期,突出显示在日期选择器

如果有人使用了相同的控制,请您帮助一下,如何实现一样,如果有任何日期值的文本框,然后当您启动的日期选择器,它应自该日起开始。 例如。这里我设置3月份的日期,然后,当用户点击日期选择器时,应显示3月份的日历。

这是我的代码文件。

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1"> 
     <title>Detailed information</title> 
     <link rel="stylesheet" href="jquery.mobile-1.0a4.1.min.css" /> 
     <link rel="stylesheet" href="jquery.mobile-1.0a4.1.css" /> 
     <link type="text/css" href="jquery.mobile.datebox.css" rel="stylesheet" /> 
     <script type="text/javascript" src="jquery-1.5.min.js"></script> 
     <script type="text/javascript"> 
     $(document).bind("mobileinit", function(){ 
      $.mobile.page.prototype.options.degradeInputs.date = 'text';    

     }); 
     </script>  
     <script type="text/javascript" src="jquery.mobile-1.0a4.1.min.js"></script> 
     <script type="text/javascript" src="jquery.mobile.datebox.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 
      //Setting start date value on pageload 
      $('#startdate').val('2011-03-20'); 
     </script> 
    </head> 
    <body> 
     <div data-role="page" id="home"> 
      <div data-role="header" data-position="inline"> 
       <a href="daily_schedule.html" rel="external" data-icon="arrow-l">back</a> 
       <h1>Detailed Information</h1> 
      </div> 
      <div data-role="content"> 
       <form action="" method="get" onsubmit="validate();" id="frmdetailedinfo"> 
        <div data-role="fieldcontain"> 
         <input readonly="true" name="startdate" type="date" data-role="datebox" id="startdate" data-options='{"mode": "calbox", "useDialogForceFalse": true, "noAnimation": true}'/> 
        </div> 
        <div data-role="fieldcontain"> 
         <fieldset class="ui-grid-a"> 
          <div class="ui-block-a"> 
           <button type="submit" data-theme="a" name="submit" data-icon="check" value="submit-value"> 
            Save 
           </button> 
          </div> 
         </fieldset> 
        </div> 
       </form> 
      </div> 
      <!--content--> 
     </div> 
     <!--page--> 
    </body> 
</html> 

回答

3

你必须将其设置在标签本身:

<input readonly="true" 
     name="startdate" 
     type="date" 
     data-role="datebox" 
     id="startdate" 
     data-options='{ 
      "mode": "calbox", 
      "useDialogForceFalse": true, 
      "noAnimation": true 
     }'/> 

变为这个

<input readonly="true" 
     name="startdate" 
     type="date" 
     data-role="datebox" 
     id="startdate" 
     data-options='{ 
      "mode": "calbox", 
      "useDialogForceFalse": true, 
      "noAnimation": true, 
      "defaultDate": "1999-03-20" // Add Default Date 
     }'/> 
+0

谢谢你,你的解决方案的工作perfectly.However,它不与Firefox 3.5然而工作,它适用于基于Android的设备-Nexus。所以,它解决了我的问题。 – lucentmind 2011-04-26 05:50:29

+0

嗨我无法让startDate在iOS,firefox,safari或chrome上工作。我正在使用最新的jQuery Mobile,并在输入html标记中设置以下选项,data-options =“{'mode':'calbox','defaultDate':'1999-03-20','dateFormat' :'YYYY-MM-DD','headerFormat':'YYYY-MM-DD'}“任何帮助将不胜感激。谢谢加里 – Gary 2011-06-20 18:16:09

+0

开发人员总是在改进插件,我会检查:https://github.com/jtsage/jquery-mobile-datebox和http://dev.jtsage.com/jQM-DateBox/或放他一个电子邮件以及。 – 2011-06-20 18:38:20

相关问题