显示多个日历或选择的值显示不正确

发布于 2024-10-17 15:21:02 字数 1921 浏览 1 评论 0原文

好的,我正在使用 jQuery Mobile 框架 并添加 实验日期选择器 但我遇到两个结果。按照页面上的说明进行操作,这就是我到目前为止所拥有的。

代码工作#1:

$(document).ready(function() {        
    $('.hasDatepicker').hide();

    $('#date-of-birth').each(function() {     
        $(this).focus(function() {
            $(this).next().show('fast');
        });

        $(this).blur(function() {               
           $(this).next().hide('fast');
        });
    });
});

现在这显示了一个日历(如我所愿),但在日期选择时,日期保持不变(这是今天的日期),而不是所选的日期。

代码工作#2:

$(function() {
    $('.hasDatepicker').hide();

    $('#date-of-birth').focus(function() {
        $('.hasDatepicker').show('fast');
    });

    $('#date-of-birth').blur(function() {
        $('.hasDatepicker').hide('fast');
    });
});

现在,这显示了多个日历(确切地说是 5 个)堆叠在一起,而且如果我选择日期,它也会按预期工作。但我只想显示一个日历。

我想结合这两个代码工作来获得所需的结果,但似乎没有任何效果。

这是 HTML

<div data-role="fieldcontain">
    <label for="date-of-birth">Date of Birth</label>
    <input type="date" name="date-of-birth" id="date-of-birth" />                
</div>

type="date" 是您调用日期选择器的方式

有任何提示吗?

其他可能会有所启发的堆栈链接

更新:

好吧,这可能是问题所在,但仍然没有找到解决方案。

我使用 jQueryMobile 的 多页面布局 选项,对于每个页面,它都会创建一个额外的日期选择器,但它会显示它们彼此堆叠,并且功能无法正常工作

Ok I'm using the jQuery Mobile Framework and adding the Experimental Date Picker but I encounter two results. Following the instructions on the page, this is what I have so far.

Code Efforts #1:

$(document).ready(function() {        
    $('.hasDatepicker').hide();

    $('#date-of-birth').each(function() {     
        $(this).focus(function() {
            $(this).next().show('fast');
        });

        $(this).blur(function() {               
           $(this).next().hide('fast');
        });
    });
});

Now this shows the one calendar (as I would like) but on date selection the date stays the same (it's todays date) and not the date selected.

Code Efforts #2:

$(function() {
    $('.hasDatepicker').hide();

    $('#date-of-birth').focus(function() {
        $('.hasDatepicker').show('fast');
    });

    $('#date-of-birth').blur(function() {
        $('.hasDatepicker').hide('fast');
    });
});

Now this show multiple calendars (5 to be exact) stacked on top of one another and also if I select the date it works as expected. But I only want one calendar to display.

I would like to combine the two code efforts to get the desired results but nothing really seems to be working.

Here is the HTML

<div data-role="fieldcontain">
    <label for="date-of-birth">Date of Birth</label>
    <input type="date" name="date-of-birth" id="date-of-birth" />                
</div>

The type="date" is how you call the date picker

Any tips?

Other Stack Links that might shed some light

UPDATE:

Well this might be the issue but still haven't found a solution.

I using the Multi-page layout option for jQueryMobile, For each page it creates an additional date-picker but it displays them stack on each other and the functionality doesn't work correctly

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

远昼 2024-10-24 15:21:02

我成功了。我问了这个问题: jQuery Mobile ->覆盖 jQuery UI 日期选择器 ->布局损坏

这是实验性的,但它可以工作。您不应该使用它

$('.hasDatepicker').show('fast');

您应该为一个站点上的每个日期选择器添加一个唯一的id,然后编写:

$('#uniqueId').show('fast');

我将 ID 添加到日期选择器的 JavaScript 文件中。

I got it working. I asked this question: jQuery Mobile -> Override jQuery UI Datepicker -> Layout broken

It is experimental, but it works. You should not use this

$('.hasDatepicker').show('fast');

You should add for each datepicker on one site a unique id and then write:

$('#uniqueId').show('fast');

I add the IDs inside of the JavaScript file of the datepicker.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文