Bu jQueryUI datepicker'ın bir düğmenin datepicker'ı göstermesini tetikleyecek kadar özelleştirilebilir olmasını seviyorum, ancak maalesef kendi işaretlemenizi özelleştirmenize izin vermiyor.jQueryUI datepicker ek bir argümanı kabul etmek için nasıl uzatabilirim?
ben şöyle biçimlendirme varsa:
<span>
<input type="text" class="datepicker" />
</span>
<span>
<button class="datepicker-trigger">Open</button>
</span>
Aşağıdaki kodu uygulamak, ben olurdu butonuna tıkladığınızda göstermek için bunu datepicker alabilmek için:
$('.datepicker').datepicker({
showOn:'none'
});
$('.datepicker-trigger').click(function() {
$('.datepicker').datepicker('show');
});
İşte Yukarıdaki kod bir jsFiddle: http://jsfiddle.net/P9Qmu/
Bu iyi ve güzel, ama ne ben gerçekten yapmak istiyorum geçmek istiyorum o datepicker, hangi öğenin göstermeyi tetiklemesi gerektiğini belirten bir nesneyi veya seçiciyi belirten ek bir argüman işlevi görür.
Örneğin, gerçekten bu yapabilmek istiyorum:
$('.datepicker').datepicker({
showOn:'none',
trigger:'.datepicker-trigger'
});
Ben yöntemleri ekleyip eklentileri oluşturmak için jQuery uzatmak için nasıl biliyorum ama emin değilim (ya da eğer Mevcut bir fonksiyonda izin verilen argümanları değiştirmek mümkündür.
kimse Yapmam seyir ya da en azından doğru yönde işaret ettiğimi elde etmek $.datepicker
uzatmak nasıl biliyor mu? Herhangi bir yardım çok takdir edilecektir.
Teşekkürler Andrew, harika cevap! Her iki yöntemi de gösterdiğine sevindim. –
@PhilipWalton: Sorun değil! –
@AndrewWhitaker: 1,8'teki datepicker widget fabrikasını kullanmasa bile, tarihçiyi $ .widget' aracılığıyla gerçekten genişletebilir mi? Bu [SO cevabı] (http://stackoverflow.com/questions/2526592/how-to-subclass-a-specific-jqueryui-widget-method) hayır demek gibi görünüyor. – superjos