Jquery移动日历

时间:2015-08-19 22:22:59

标签: jquery-mobile datepicker

我在这里使用移动jQuery日历:http://demos.jquerymobile.com/1.4.1/datepicker/

看起来很简单,但我无法使用onSelect函数来捕获所选日期。

我拥有的是:

<link rel="stylesheet"  href="http://code.jquery.com/mobile/git/jquery.mobile-git.css" />
<link rel="stylesheet" href="/jquery-mobile-datepicker-wrapper-master/jquery.mobile.datepicker.css" />
<link rel="stylesheet" href="/jquery-mobile-datepicker-wrapper-master/jquery.mobile.datepicker.theme.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="/jquery-mobile-datepicker-wrapper-master/external/jquery-ui/datepicker.js"></script>
<script src="http://code.jquery.com/mobile/git/jquery.mobile-git.js"></script>
<script src="/jquery-mobile-datepicker-wrapper-master/jquery.mobile.datepicker.js"></script>
<script>

    $( document ).ready(function() {
        $('.date-input-inline').datepicker({
            onSelect: function(dateText, inst) {
                alert("Date is : " + dateText);
            }
        });
    });
</script>

然后HTML:

<body>
<input type="text" class="date-input-inline" data-inline="true" data-role="date">

这为我在我的网页上提供了输入字段和日历,正如您所期望的那样。

问题,当我点击某个日期时,我会显示无警报,显示所选日期。

如何从此日历中获取所选日期,以及如何在没有初始化的情况下工作?

脚本src中的文件是从https://github.com/arschmitz/jquery-mobile-datepicker-wrapper

中获取的文件

它在这里说 - https://github.com/arschmitz/jquery-mobile-datepicker-wrapper,它在data-role =“date”上自动初始化。此外,应使用日期,而不是使用datepicker 。我试过了,但没有区别。

2 个答案:

答案 0 :(得分:0)

您是否在移动环境中运行此功能,例如Phonegap还是科尔多瓦?如果是,请尝试在普通浏览器中运行并删除Cordova或Phonegap插件,看看是否可以这样调试。

最可能的问题是其他Javascript中的某些错误阻止了所需的选项。

如果你没有做上述事情,或者那不是问题,那么删除“onSelect”位并尝试更改。

$( document ).ready(function() {
        $('.date-input-inline').datepicker({
            /* Insert any configuration parameters here, such as changeYear: true, */
        });

    $('.date-input-inline').change(function() {
        var datevalue = $(this).val() ;
        alert (datevalue);
    });
});

答案 1 :(得分:0)

您可以使用更改jquery事件来检测字段何时发生变化,就像brianlmerritt所说的那样。

$( document ).ready(function() {
        $('.date-input-inline').datepicker({
            /* Insert any configuration parameters here, such as changeYear: true, */
        });

    $('.date-input-inline').change(function() {
        var datevalue = $(this).val() ;
        alert (datevalue);
    }); 
});

但是,我认为对于移动设备来说,最好的方法是使用原生的datepicker。

您可以使用字段类型=“日期”进行测试吗? 例如:

<input type="date" class="date-input-inline" data-inline="true" data-role="date">

尝试在真实的移动设备中进行测试