1

これがバグなのか何なのかわかりませんが、jQuery モバイルの日付ピッカーで非常に奇妙な動作が発生しています。

無効な日付をクリックすると、有効な日付が消えます! なんてこと?

非常に単純な例については、私の 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 に答える