jQueryUI datepickerは、ボタンがdatepickerを表示するようトリガできるようにカスタマイズ可能ですが、残念ながら、独自のマークアップをカスタマイズすることはできません。追加の引数を受け入れるためにjQueryUIのdatepickerを拡張するにはどうすればよいですか?
私はそうのようにマークアップしている場合:
<span>
<input type="text" class="datepicker" />
</span>
<span>
<button class="datepicker-trigger">Open</button>
</span>
それをボタンをクリックしたときに、私は次のコードを実装する必要があると思います表示する日付ピッカーを得るために:
$('.datepicker').datepicker({
showOn:'none'
});
$('.datepicker-trigger').click(function() {
$('.datepicker').datepicker('show');
});
はここです上記のコードのjsFiddle:http://jsfiddle.net/P9Qmu/
これはすべてが順調と良いですが、私は本当にやりたいするパストンであります彼は、datepicker関数は、どの要素が表示をトリガする必要があるかを示すオブジェクトまたはセレクタを指定する追加の引数です。
例えば、私は本当にこれを実行できるようにしたいと思います:
$('.datepicker').datepicker({
showOn:'none',
trigger:'.datepicker-trigger'
});
私はメソッドを追加し、プラグインを作成するためのjQueryを拡張する方法を知っているが、私はそれはだか(またはかどうかわからないんだけど既存の関数で許可された引数を変更することができます。
誰も私がやっていることを達成するために$.datepicker
を拡張する方法を知っていますか、少なくとも正しい方向に向いていますか?どんな助けでも大歓迎です。
ありがとうアンドリュー、素晴らしい答え!私は両方の方法を示してくれてうれしいです。 –
@PhilipWalton:問題ありません! –
@AndrewWhitaker:1.8のdatepickerがウィジェットファクトリを使用していなくても、実際には '$ .widget'を使ってdatepickerを拡張できますか?この[SO答え](http://stackoverflow.com/questions/2526592/how-to-subclass-a-specific-jqueryui-widget-method)はいいえと言われています。 – superjos