(うまくいけば)簡単な質問:jQuery-UI Datepicker:ドラッグ可能?
jQuery UIのDatePickerをドラッグ可能にすることはできますか?もしそうなら、誰か私にサンプルコードを教えてもらえますか?
(うまくいけば)簡単な質問:jQuery-UI Datepicker:ドラッグ可能?
jQuery UIのDatePickerをドラッグ可能にすることはできますか?もしそうなら、誰か私にサンプルコードを教えてもらえますか?
$( "。ui-datepicker")draggable() は機能しません。
この順序は重要です。
$('#myCalendarInput').datepicker();
$('#ui-datepicker-div').draggable();
EDIT:回答@JZ用品や鉱山の間に微妙な違いがあります。 JZの例を使用すると、ページ上の任意のdatepickerがインライン(input要素の代わりにDIVに関連付けられているもの)であっても、ドラッグ可能になります。私のコードはポップアップのdatepickersをドラッグ可能にするだけです。 datepickerプラグインは、すべてのポップアップに対して単一のDIV(ui-datepicker-divという名前)を作成し、datepickerが適用されたページの入力に対してその名前を再利用します。インラインDIVまたはSPANの場合、.ui-datepickerクラスを持つDIV/SPAN内に新しい名前のない日付ピッカーを作成しますが、その名前はありません。この場合、私のコードはdatepickerをドラッグ可能にするわけではありませんが、おそらく正しい動作ですが、JZはクラスに基づいて一致します。
例:
<script type="text/javascript">
$(document).ready(function() {
$('#calendar').datepicker();
$('#calendar2').datepicker();
$('#calendar3').datepicker();
$('#ui-datepicker-div').draggable();
});
</script>
<div>
Calendar: <input id="calendar" type="text" /><br /> <-- draggable
Calendar2: <input id="calendar2" type="text" /><br/> <-- draggable
Fixed calendar: <div id="calendar3"></div> <-- fixed
</div>
JZの回答がうまくいって以来、私はこれを試していませんでしたが、このソリューションで同じページの複数の日付ピッカーに問題はありませんか? –
私のコードとJZには1つの違いがあります。 input要素の場合、datepickerは単一のui-datepicker-divを作成し、ポップアップを必要とするすべての入力に対してそれを再利用します。ただし、インラインカレンダーを使用している場合、JZコードではドラッグ可能になりますが、同じIDを持たないため、マイナスにはなりません。 – tvanfosson
Ah。説明ありがとう。 +1 –
あなたは日付ピッカーにイベントを追加し、それをドラッグするためにそれを使用することができます。
//Add an event "onCreate"
$.datepicker._updateDatepicker_Old = $.datepicker._updateDatepicker;
$.datepicker._updateDatepicker = function(inst) {
this._updateDatepicker_Old(inst);
var onCreate = this._get(inst, 'onCreate');
if (onCreate !== null) {
onCreate(inst);
}
};
datepickerを呼び出して、onCreate関数を実装してドラッグ可能にした後。
$(function() {
//Create datepicker
$('#datepicker').datepicker({
onCreate: function(inst) {
$(inst.dpDiv).draggable();
}
});
});
答えをありがとう。それは興味深い考えですが、受け入れられた答えと同じことを達成することはあまりにも複雑です。私はむしろjQuery UIに物事をハックしないでください。 –
確かにそれはありません。私は明らかにjQuery UIの新機能ですので、ノービスの質問に助けてくれてありがとう。 –
問題はありません:) javascript経由でロードされたクラスとIDの要素を知るには、Firebugをインストールします。 – zalew
ああ、私を信じて、Firebugは私の友人です。私はちょうどdatepickerをドラッグ可能にすることさえ可能かどうか分からなかった。 –