0

我在应用程序中使用 mobiscroll 日期滚动器。我将其设置为初始化为从数据库获取的日期并设置为我的输入字段的值。这是我的代码:

                $(function(){

                    $("#requestDate").scroller({ 
                        preset: 'date',
                        theme: 'jqm',
                        display: 'modal',
                        mode: 'scroller',
                        dateOrder: 'mdyyyy',
                        dateFormat: 'm/d/yyyy'
                    });

                    var requestDate = $("#requestDate").val();

                    if(requestDate != ""){
                        requestDate = new Date(requestDate);
                        $("#requestDate").scroller('setDate', requestDate, true);
                    } 

                });

这是我的表单字段:

<input type="text" name="requestDate" id="requestDate" data-role="mobiscroll" value="2013,7,25" data-mini="true" readonly="" class="ui-input-text ui-body-f ui-corner-all ui-shadow-inset ui-mini">

这显示了文本输入中格式化的日期,并默认为打开 mobiscroll 时的日期。除了在 Safari 中。在 Safari 中,日期显示为 NaN/NaN/NaN。我该如何解决?谢谢!

4

1 回答 1

0

您不需要调用setDate,只需将日期以正确的格式作为输入值。见例子:http: //jsfiddle.net/RQzbw/

注意 1:使用'mdyy'and'm/d/yy'yyyy不正确的(参见文档)

注2:.scroller()已弃用,请.mobiscroll()改用。如果您使用的是旧版本,则应升级到最新版本。

于 2013-07-24T06:54:34.127 回答