jQuery Mobile 日期选择器配置

标签 jquery jquery-ui jquery-mobile jquery-ui-datepicker

我正在开发 Web 应用程序的移动版本,但在 jQ mobile 中配置日期选择器时遇到一些问题。我知道这是一个实验性功能(我想它可能有点问题?),但我认为配置它应该不是问题。

但是,我似乎无法让它工作。我查看了 jQ UI 文档,为我的日期选择器提供了以下配置:

    $(document).ready(function(){
         $("#mo_date").datepicker({ 
                                    showAnim: 'fadeIn', 
                                    dateFormat: 'dd-mm-yy',
                                    dayNamesShort: ['Zon', 'Maa', 'Din', 'Woe', 'Don', 'Vrij', 'Zat'],
                                    dayNamesMin:  ['Zon', 'Maa', 'Din', 'Woe', 'Don', 'Vrij', 'Zat'],
                                    dayNames: ['Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag'],
                                    monthNames: ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December'],
                                    monthNamesShort: ['Jan','Feb','Maa','Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec'],
                                    minDate: 0,
                                    // altField outputs date in mySQL date format yy-m-d. datum hieruit halen, ipv .datepicker('getDate');
                                //  altField: '.output_date',
                                //  altFormat: 'yy-m-d'
                                });
    });

我的 HTML 如下:

<form action="mobile/go" method="post"> 
        <div data-role="fieldcontain">
            <label for="mo_event_type" class="select">Kies type taak</label>
            <select name="mo_event_type" id="mo_event_type" data-native-menu="false">
                <option data-placeholder="true">Taaktype</option>
                <option value="huiswerk">Huiswerk</option>
                <option value="deadline">Deadline</option>
                <option value="vrijetijd">Vrije tijd</option>
            </select>
        </div>
        <div data-role="fieldcontain">
            <label for="mo_title">Titel</label>
            <input type="text" name="mo_title" value="" id="mo_title" data-theme="b"/>
        </div>
        <div data-role="fieldcontain">
            <label for="mo_descr">Beschrijving</label>
            <textarea cols="20" rows="8" name="mo_descr" id="mo_descr" data-theme="b"></textarea>
        </div>
        <div date-role="fieldcontain">
            <label for="mo_date">Datum</label>
            <input type="date" name="mo_date" id="mo_date" value="" />
        </div>
    </form>

我是否在这里遗漏了一些重要的东西,或者我只是做错了?一些见解将不胜感激。我知道配置很好,因为我在非移动应用程序中使用了相同的配置。只是无法让它在移动设备上工作:(

非常感谢。

最佳答案

首先,在我看来,我更喜欢 DateBox 插件:http://dev.jtsage.com/jQM-DateBox/

在实验 DP 的文档中:http://jquerymobile.com/demos/1.0a4.1/experiments/ui-datepicker/

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

请务必将此事件绑定(bind)放在在 jQuery 之后、jQuery Mobile 之前加载的脚本中。检查此页面的源代码以获取示例。

我还注意到,许多人无法获得与 DP 一起使用的其他选项

我为日期框准备了这个:

<input type="date" 
       name="mo_date" 
       id="mo_date" value="" 
       data-options='{
           "dateFormat": "DD-MM-YYYY", 
           "noButtonFocusMode": "true", 
           "headerFormat": "DD-MM-YYYY", 
           "daysOfWeekShort" : [
                                   "Zon", 
                                   "Maa", 
                                   "Din", 
                                   "Woe", 
                                   "Don", 
                                   "Vrij", 
                                   "Zat"
                               ], 
           "mode": "calbox", 
           "minYear" : "0", 
           "monthsOfYear" : [
                                "Januari",
                                "Februari",
                                "Maart",
                                "April",
                                "Mei",
                                "Juni",
                                "Juli",
                                "Augustus",
                                "September",
                                "Oktober",
                                "November",
                                "December"
                            ] 
       }'  
       data-role="datebox" />

单行版本:

<input type="date" name="mo_date" id="mo_date" value="" data-options='{"dateFormat": "DD-MM-YYYY", "noButtonFocusMode": "true", "headerFormat": "DD-MM-YYYY", "daysOfWeekShort" : ["Zon", "Maa", "Din", "Woe", "Don", "Vrij", "Zat"], "mode": "calbox", "minYear" : "0", "monthsOfYear" : ["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"] }'  data-role="datebox" />

关于jQuery Mobile 日期选择器配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5994590/

相关文章:

asp.net - 防止多个用户同时访问一个页面

javascript - 在页面加载时启动 Fancybox,无需单击一次

javascript - JqueryUI Datepicker 不会将选定的日期放入 HTML

javascript - 捕获刷新并将页面更改为index.html

javascript - 根据事件动态禁用动态生成的 jQuery select2 中的几个选项

javascript - DTM : _satellite not defined

c# - 如何在我的 JQUERY 提交中添加额外的数据?

javascript - jQuery UI 自动完成 JSON 错误

jquery - 滑动可以工作,但下一个和上一个按钮不起作用

javascript - 自定义绑定(bind)未触发更新