jQuery tarih / saat seçici [kapalı]


245

Hem tarihleri ​​hem de saatleri işleyebilecek iyi bir jQuery eklentisi arıyordum. Çekirdek kullanıcı arayüzü DatePickerharika, ama ne yazık ki de zaman alabilmeliyim.

DatePicker'ın zamanlarla çalışması için birkaç hack buldum, ancak hepsi oldukça yetersiz görünüyor ve Google güzel bir şey açmıyor.

Kullanılabilir bir arayüz ile tek bir UI kontrolünde tarih ve saatleri seçmek için iyi bir jQuery eklentisi var mı?


Örneğimin biraz daha az kafa karıştırıcı ve daha kullanıcı dostu olduğundan eminim. Her ikisinin de artıları ve eksileri vardır.
Michael Stone

Yanıtlar:


251

Şimdiye kadar en güzel ve en basit DateTime seçici seçeneği http://trentrichardson.com/examples/timepicker/ .

Bu jQuery UI Datepicker'ın bir uzantısıdır, bu yüzden aynı temaları destekleyecektir, aynı şekilde benzer sözdizimi vb. De çalışacaktır. Bu, jQuery UI imo ile paketlenmelidir.


3
Bunu kullanıyorum ve SEVİYORUM.
Sonny

3
Bunu beğendim, ama hala ÇOK buggy.
Alastair Pitts

11
"ÇOK buggy"? Zorlukla. Üretim kodunda kullanıyorum ve bir süredir var. Ayrıca aktif olarak geliştirildi.
Sonny

7
@Sonny: üretimde kullanıp kullanmamanın buggy olup olmadığı konusunda bir etkisi yoktur. Sadece böceklerini görmemiş olabilirsiniz çünkü belki onları Alastair olan onları ortaya çıkaran şeylerle yapmıyorsunuz. Öte yandan, iddiası için herhangi bir kanıt sunmadı, bu yüzden onu çok ciddiye almaya meyilli değilim ...
iconoclast

18
Bu eklenti ile ilgili en büyük sorunum UI: neden bir süreyi girmek için kaydırıcıları, yatay olanları kullanmak istiyorum? Bana çok garip gözüküyor. İstediğim sayıya ulaşamayacağım sürgü ile birçok kez deneyim yaşadım (tekrar tekrar biraz sonra biraz altında gidiyor) ve ben yazarak sonunda. Klavye normalde kesin bir sayısal değer girmenin en kolay yoludur. Görsel bir giriş yöntemi istiyorsanız, saat kaydırıcı değil normaldir. Uygulanması daha zor, ancak aslında yararlı olabilir (klavye girişi de mümkün olduğu sürece).
iconoclast

46

@David, öneri için teşekkürler! @fluid_chelsea, Prototip yerine jQuery kullanan ve çok geliştirilmiş bir arayüze sahip Any + Time ™ sürüm 3.x'i piyasaya sundum, bu yüzden şimdi ihtiyaçlarınızı karşıladığını umuyorum:

http://www.ama3.com/anytime/

Herhangi bir sorun, lütfen web sitemdeki yorum bağlantısı aracılığıyla bana bildirin!


6
Herhangi bir + Time (TM) sürüm 4.x kullanıma sunulmuştur! Yeni sürüm, ZAMAN BÖLGELERİNİ (başka bir seçicide THAT'ı bulun!) Ve ayrıca jQuery seçicileri / zincirleme, kolay çıkarma (bellek sızıntılarından kaçının!) Ve diğer birçok iyileştirmeyi destekler. Lütfen bir gezinti yapın ve herhangi bir sorun veya öneriniz varsa, web sitemdeki yorum sayfasından bana bildirin.
Andrew M.Andrews III

4
Herhangi bir + Zaman oldukça kaygan görünüyor. Bunu sevdim.
Zack Peterson

Sadece Rails uygulamasında birkaç dakika içinde AnyTime uygulandı. Mükemmel çalışıyor.
Gwyn Morfey

Ben sadece benim JSF uygulaması için seçim seçici olarak AnyTime seçici seçti! Güzel ürün için teşekkürler, iyi çalışmaya devam edin!
Arg

Any + Time, her Any + Time girişi için UI için yeni bir gizli div ekler (gizli div kullanıcı arayüzünü yeniden kullanan jQUery UI datepicker'dan farklı olarak), performansın kötü tasarlanmış MSIE6'da çok düşmesine neden olur. MSIE6'yı desteklemeniz gerekiyorsa Any + Time kullanmayın!
Eduardo

14

Bana göre tarihler ve saatler, kullanıcının girmesi için en kullanışlı ve verimli olması için iki ayrı giriş kutusu olarak ele alınmalıdır. Kullanıcının her seferinde bir şey girmesine izin vermek iyi bir ilkedir, imho.

Çekirdek UI DatePicker'ı ve aşağıdaki zaman seçiciyi kullanıyorum.

Bu, Google Takvim'in kullandığı ilham kaynağı:

jQuery timePicker :
örnekler: http://labs.perifer.se/timedatepicker/ github'daki
proje: https://github.com/perifer/timePicker

Tüm alternatifler arasında en iyisi olduğunu gördüm. Kullanıcı hızlı giriş yapabilir, temiz görünür, basittir ve kullanıcının belirli zamanları dakikaya kadar girmesini sağlar.

PS: Bana göre: kaydırıcılar (bazı alternatif zaman seçiciler tarafından kullanılır) çok fazla tıklama alır ve kullanıcıdan fare hassasiyeti gerektirir (bu da girişi yavaşlatır).


Çekirdek Kullanıcı Arayüzü DatePicker: jqueryui.com/demos/datepicker
Magne

Bu, bu alan için C # MVC'nin model bağlama avantajlarını öldürür
Serj Sagan

13

Datepicker ile en iyi deneyimim prototip tabanlı AnyTime . Bunun jQuery olmadığını biliyorum, ama yine de sizin için uzlaşmaya değebilir. Kesinlikle hiçbir prototip bilmiyorum ve çalışmak için hala yeterince kolay.

Bulduğum bir uyarı: bazı tarayıcılarda ileri uyumlu değildir. Yani, Chrome'da daha yeni bir prototip sürümü ile çalışmadı.


1
Prototip kullanabilseydim bu bir sorun olmazdı, maalesef bu uygulama için jQuery ile sıkışıp kaldık.
Chelsea

7
Sadece bir güncelleme - AnyTime 3 şimdi jQuery ile çalışıyor.
Jaxidian

Bunu aylardır aylarca düşünmedim. Ama kişisel projem biraz güncelleme istedi ve ben hemen hemen jquery atmaya hazırdım. Ben herhangi bir + Time tüm özelliklerine ihtiyaç yoktu çünkü ben de tarih seçici yerine olacağını düşündüm ve ben de tüm jQuery gidebilir düşündüm. Ve bam! Ben bununla karşılaşıyorum. Harika zamanlama.
David Berger

Güzel, yıl seçici (<veya> tıklayarak) bana kludgy olsa.
bir kodlayıcı

7

Buradaki bilgilere eklemek için, Fluid Project'in burada çok sayıda tarih ve / veya saat seçiciyi gözden geçiren güzel bir wiki yazısı var .


4

Bunu yakın zamanda araştırdım ve henüz iyi bir zaman seçiciyi de içeren iyi bir tarih seçici bulamadım . Ne kullanarak sona erdi eyecon's harika DatePicker , iki basit açılan zaman. Timepickr.js kullanmak için cazip , gerçekten güzel bir yaklaşım gibi görünüyor.


3

Ben de aynı problemle karşılaştım. Aslında sunucu tarafı programlama kullanarak geliştirdim, ama size yardımcı olmak için hızlı bir arama yaptım ve bunu buldum.

İyi görünüyor, kaynağa çok fazla bakmadı, ancak tamamen JavaScript gibi görünüyor.

Bak:

http://www.rainforestnet.com/datetimepicker/datetimepicker.htm

Deneme sayfası bağlantısı:

http://www.rainforestnet.com/datetimepicker/datetimepicker-demo.htm

iyi şanslar


Bunu birkaç yıldır kullanıyorum. Dişte biraz uzun oluyor ama çalışıyor.
bir kodlayıcı

1

Bu, bir kullanıcının bir datetimepicker seçmek, datetime ayarlamak ve diğer datetimepicker o zamana bir dakika eklemek için kullandığım bazı kod.

Özel ilaç kontrolü için buna ihtiyacım vardı ....

Her neyse, cevabı çevrimiçi bulamadığım için başka birine yardımcı olabileceğini düşündüm ...

(en azından tam bir cevap değil)

60000 eklenen bir dakika eklediğini unutmayın. (60 * 1000 milisaniye)

$('.frdtPicker').datetimepicker({
        onClose: function(dateText, inst) {
            var endDateTextBox = $('.todtPicker');
            if (endDateTextBox.val() != '') {
                var testStartDate = new Date(dateText);
                var testEndDate = new Date(endDateTextBox.val());
                if (testStartDate > testEndDate) {

                    var testStartDate = new Date(dateText).getTime() + 60000;
                    var testStartDate2 = new Date(testStartDate); 

                    endDateTextBox.datetimepicker('setDate', (new Date(testStartDate2)));
                }
            }
            else {
                var testStartDate = new Date(dateText).getTime() + 60000;
                var testStartDate2 = new Date(testStartDate);
                endDateTextBox.datetimepicker('setDate', (new Date(testStartDate2)));
            }
            $('.frdtPicker').val(dateText); //endDateTextBox.val());

        },
        onSelect: function(selectedDateTime) {
            var start = $(this).datetimepicker('getDate');
            $('.todtPicker').datetimepicker('option', 'minDate', new Date(start.getTime()));
        }
    });


1

JQuery değil, ancak zamana sahip bir takvim için iyi çalışır: JavaScript Tarih Saat Seçici .

Ben sadece tıklama olayı pop up için bağladı:

$(".arrival-date").click(function() {
    NewCssCal($(this).attr('id'), 'mmddyyyy', 'dropdown', true, 12);
});

1
Bağlantı güncellendi - taşıdılar.
bigspotteddog

Farklı bir şekilde çağırdım, ancak birkaç yıldır kullanıyorum (dolayısıyla kodunuzdan tanımıyor). Yağmur ormanları dişte biraz uzun gözüktüğü için jquery'nin DatePicker'ına geçiyorum.
bir kodlayıcı

0

Ben böyle bir işlevi yapmak:

function getTime()
{
    var date_obj = new Date();
    var date_obj_hours = date_obj.getHours();
    var date_obj_mins = date_obj.getMinutes();
    var date_obj_second = date_obj.getSeconds();

    var date_obj_time = "'"+date_obj_hours+":"+date_obj_mins+":"+date_obj_second+"'";
    return date_obj_time;
}

Sonra böyle jQuery UI datepicker kullanın:

$("#selector").datepicker( "option", "dateFormat", "yy-mm-dd "+getTime()+"" );

Yani, değeri şu şekilde alıyorum : 2010-10-31 12:41:57


bazen (getTime fonksiyonunu kullanarak değil) zamanı belirlemek gerekir
bungdito

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.