1

我不确定这是一个错误还是什么,但我在使用 jQuery mobile 的 datepicker 时遇到了一个非常奇怪的行为。

单击禁用日期时,启用日期会消失!怎么回事?

请查看我的 jsFiddle 以获得一个非常简单的示例:http: //jsfiddle.net/X5qp8/

我在 jquery 对移动黑客的建议之后对此进行建模:http: //jquerymobile.com/demos/1.0a4.1/experiments/ui-datepicker/

我也将它渲染到一个 div 因为我需要一个持久的日历。也许这些事情只是不适合......

我还发现该错误位于他们的移动扩展程序的第 33 行,但尚不清楚他们试图在那里做什么:

$( ".ui-datepicker-calendar .ui-btn", dp ).each(function(){
            var el = $(this);
            // remove extra button markup - necessary for date value to be interpreted correctly
            el.html( el.find( ".ui-btn-text" ).text() ); 
        });
4

2 回答 2

1

第 33 行正在剥离额外的标记,以便 datepicker 插件可以解析插件各种事件的日期。我最近找到了一个对我有用的解决方案,但我无法在你的 jsFiddle 上运行。我已经注释掉了一些为移动样式所做的额外标记。看看我的 updateDatepicker 函数版本,希望它会有所帮助。

function updateDatepicker(){

     // $( ".ui-datepicker-header", dp ).addClass("ui-body-c ui-corner-top").removeClass("ui-corner-all");
     $( ".ui-datepicker-prev, .ui-datepicker-next", dp ).attr("href", "#");
     $( ".ui-datepicker-prev", dp ).buttonMarkup({iconpos: "notext", icon: "arrow-l", shadow: true, corners: true});
     $( ".ui-datepicker-next", dp ).buttonMarkup({iconpos: "notext", icon: "arrow-r", shadow: true, corners: true});
     // $( ".ui-datepicker-calendar th", dp ).addClass("ui-bar-c");
     // $( ".ui-datepicker-calendar td", dp ).addClass("ui-body-c");
     // $( ".ui-datepicker-calendar a", dp ).buttonMarkup({corners: false, shadow: false}); 
     $( ".ui-datepicker-calendar a.ui-state-active", dp ).addClass("ui-btn-active"); // selected date
     $( ".ui-datepicker-calendar a.ui-state-highlight", dp ).addClass("ui-btn-up-e"); // today"s date
     $( ".ui-datepicker-calendar .ui-btn", dp ).each(function(){
          var el = $(this);
          // remove extra button markup - necessary for date value to be interpreted correctly
         el.html( el.find( ".ui-btn-text" ).text() );
     });
};
于 2012-09-26T15:12:53.693 回答
0

删除<div id="datepicker"></div>并替换 $("#datepicker").datepicker({minDate : '9/20/2012'});

$("#date").datepicker({minDate : '9/20/2012'});

它会起作用

于 2012-09-21T23:44:01.947 回答