1

IE6 Web サイトで JQuery UI 日付ピッカー (最新の安定バージョン 1.5.2) を使用しようとしています。しかし、IE6 のコンボ ボックス (選択) が他のコントロールの上に浮いているという通常の問題があります。運がない日付ピッカーを宣言した後、bgIframe プラグインを追加しようとしました。

私の推測では、bgIframe を添付する .ui-datepicker-div は、カレンダーが表示されるまで存在しません。

.bgIframe() コマンドを datepicker .js ファイルに直接配置できるかどうか疑問に思っています。(ケルビンラックによる同様のコントロールはこのアプローチを使用しています)

現在のコード

$(".DateItem").datepicker({
showOn:"button",
... etc ...
});
$(".ui-datepicker-div").bgIframe();

4

4 に答える 4

1

これは、デフォルトで処理する必要があります。

iframe は、日付ピッカーの IE6 にデフォルトで含まれます。透明度を処理する ui-datepicker-cover と呼ばれるスタイル。これが当てはまらないのは、スタイルがそこになかった古いテーマローラー コードだけです。

于 2008-10-01T16:59:40.703 に答える
1

私もトラブルでとても悩みました。解決策は以下になります。

$(".DateItem").datepicker({
  showOn:"button",
  beforeShow:function(){
    $('#ui-datepicker-div').bgiframe();
  },
  ... etc ...
});
于 2010-10-27T14:21:03.983 に答える
0

私はこのようなものを持っていて、bgIframeプラグインを使用するために、datepickerのメソッドbgiframe();内に関数を入れただけですonBeforeShow()

確認してください

$('#date').DatePicker({
format:'Y/m/d',
date: $('#date').val(),
current: $('#date').val(),
position: 'r',
onBeforeShow: function(){
    $('#date').DatePickerSetDate($('#date').val(), true);
    $('.datepickerContainer').bgiframe();
},
onChange: function(formated, dates){
    $('#date').val(formated);
    $('#date').DatePickerHide();
}
});
于 2010-03-08T20:18:45.043 に答える
0

ui-datepicker-cover スタイルでこれを処理する必要があるという Marc のコメントに注目しました。私の場合、カレンダーの右端と下端にはまだドロップダウンが表示されます。

iFrame のサイズは、次のコード行によって最初に設定されているようです

if ($.browser.msie && parseInt($.browser.version, 10) < 7) // fix IE < 7 select problems
$('iframe.ui-datepicker-cover').css({ width: inst.dpDiv.width() + 4, height: inst.dpDiv.height() + 4 });

postProcess 関数で。

このサイズは、行によって日付が変更されるたびにリセットされます

inst.dpDiv.empty().append(this._generateHTML(inst)).
find('iframe.ui-datepicker-cover').
css({ width: dims.width, height: dims.height });

私の単純な解決策は、これら 2 つのコード セットを削除し、.css ファイルのカバー スタイルのサイズを修正することでした。

//if ($.browser.msie && parseInt($.browser.version, 10) < 7) // fix IE < 7 select problems
//    $('iframe.ui-datepicker-cover').css({ width: inst.dpDiv.width() + 4, height: inst.dpDiv.height() + 4 });

inst.dpDiv.empty().append(this._generateHTML(inst))//.    <=== note the // before the .
//find('iframe.ui-datepicker-cover').
//css({ width: dims.width, height: dims.height });

css ファイルで、.ui-datepicker-cover の幅を 220px、高さを 200px に設定します。

スティーブ

于 2008-10-06T10:37:30.287 に答える