如何在jquery移动日期框控件中设置特定日期,在datepicker中突出显示它

时间:2011-04-23 05:34:16

标签: jquery-mobile

我正在使用jquery.mobile-1.0a4.1版本创建一个应用程序。我有一个页面,其中包含输入表单以获取详细信息。它有日期字段,所以我使用了jquery.mobile.datebox。有关其演示,请参阅http://dev.jtsage.com/。 我遇到一个问题,当我在页面加载时为日期字段设置特定日期值时,该值显示在文本框中。但是当用户点击日期选择器图标时,日历仍会突出显示今天的日期并仅显示当前月份。

如果有人使用了相同的控件那么请帮忙,如何实现,如果文本框中有任何日期值,那么当你启动datepicker时,它应该从那个日期开始。 例如。这里我设置的是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>

1 个答案:

答案 0 :(得分: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
        }'/>