ตัวเลือกวันที่ / เวลา jQuery [ปิด]


245

ฉันกำลังมองหาปลั๊กอิน jQuery ที่เหมาะสมซึ่งสามารถจัดการทั้งวันที่และเวลา UI หลักDatePickerนั้นยอดเยี่ยม แต่น่าเสียดายที่ฉันต้องใช้เวลาด้วย

ฉันพบว่าแฮ็คไม่กี่ครั้งสำหรับ DatePicker ที่จะทำงานร่วมกับเวลา แต่พวกเขาทั้งหมดดูเหมือนจะไม่ค่อยสวยและ Google ก็ไม่ได้ทำอะไรที่ดีเลย

มีปลั๊กอิน jQuery ที่ดีสำหรับการเลือกวันที่และเวลาในการควบคุม UI เดียวด้วยส่วนต่อประสานที่ใช้งานได้หรือไม่?


ฉันค่อนข้างแน่ใจว่าตัวอย่างของฉันค่อนข้างสับสนเล็กน้อยและเป็นมิตรกับผู้ใช้มากขึ้น มีข้อดีข้อเสียของทั้งสอง
Michael Stone

คำตอบ:


251

โดยไกลที่อร่อยที่สุดและง่ายที่สุดตัวเลือกตัวเลือก DateTime เป็นhttp://trentrichardson.com/examples/timepicker/

มันเป็นส่วนเสริมของ DateQuicker UI ของ jQuery ดังนั้นมันจะสนับสนุนชุดรูปแบบเดียวกันเช่นกันมันทำงานได้ดีในลักษณะเดียวกัน, ไวยากรณ์ที่คล้ายกัน, และอื่น ๆ ซึ่งควรบรรจุด้วย jQuery UI imo


3
ฉันเคยใช้อันนี้และฉันรักมัน
Sonny

3
ฉันชอบสิ่งนี้ แต่มันก็ยังมีค่าบั๊ก
Alastair Pitts

11
"buggy มาก"? แทบจะไม่ ฉันใช้มันในรหัสการผลิตและมีในขณะนี้ มันยังพัฒนาอย่างแข็งขัน
Sonny

7
@ ซันนี่: ไม่ว่าคุณจะใช้มันในการผลิตไม่ได้มีการแบกบนไม่ว่าจะเป็นรถ คุณอาจไม่ได้เห็นข้อผิดพลาดของมันเพราะคุณไม่ได้ทำสิ่งต่าง ๆ ด้วยมันซึ่งทำให้พวกเขาซึ่งบางที Alastair เป็น ในทางตรงกันข้ามเขาไม่ได้เสนอหลักฐานใด ๆ สำหรับการอ้างสิทธิ์ของเขาดังนั้นฉันจึงไม่อยากจะเอาจริงเอาจังเกินไป ...
iconoclast

18
ปัญหาที่ใหญ่ที่สุดของฉันกับปลั๊กอินนี้คือ UI: ทำไมฉันต้องการใช้แถบเลื่อนแนวนอนที่! เพื่อป้อนเวลา! มันดูและรู้สึกแปลกใจมากสำหรับฉัน ฉันมีประสบการณ์หลายครั้งกับตัวเลื่อนที่ฉันไม่สามารถไปถึงหมายเลขที่ฉันต้องการ (ซ้ำแล้วซ้ำอีกเล็กน้อยไปแล้ว) และฉันก็พิมพ์มันลงไป โดยปกติแป้นพิมพ์จะเป็นวิธีที่ง่ายที่สุดในการป้อนค่าตัวเลขที่แม่นยำ หากคุณต้องการวิธีการป้อนข้อมูลด้วยภาพนาฬิกาเป็นหนึ่งในเวลาปกติไม่ใช่ตัวเลื่อน ยากที่จะนำไปใช้ แต่จริง ๆ แล้วอาจมีประโยชน์
iconoclast

46

@ David ขอบคุณสำหรับคำแนะนำ! @fluid_chelsea ฉันเพิ่งเปิดตัว Any + Time (TM) เวอร์ชั่น 3.x ซึ่งใช้ jQuery แทนที่จะเป็น Prototype และมีส่วนต่อประสานที่ได้รับการปรับปรุงให้ดีขึ้นมากดังนั้นฉันจึงหวังว่าตอนนี้จะตอบสนองความต้องการของคุณได้แล้ว:

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

ปัญหาใด ๆ โปรดแจ้งให้เราทราบผ่านลิงค์ความคิดเห็นในเว็บไซต์ของฉัน!


6
+ เวลา (TM) เวอร์ชัน 4.x พร้อมใช้งานแล้ว! รุ่นใหม่รองรับ TIME ZONES (ค้นหาสิ่งนั้นในเครื่องมือเลือกอื่น ๆ !) รวมถึง jQuery selectors / chaining, การลบง่าย (หลีกเลี่ยงการรั่วไหลของหน่วยความจำ!) และการปรับปรุงอื่น ๆ อีกมากมาย กรุณาให้มันนั่งและถ้าคุณมีปัญหาหรือข้อเสนอแนะแจ้งให้เราทราบผ่านหน้าความคิดเห็นในเว็บไซต์ของฉัน
Andrew M. Andrews III

4
เวลาใดก็ได้ดูเนียนสวย ฉันชอบมัน.
Zack Peterson

เพิ่งใช้งานทุกเวลาเพียงไม่กี่นาทีในแอป Rails ทำงานได้อย่างสมบูรณ์แบบ
Gwyn Morfey

ฉันเพิ่งเลือกตัวเลือก AnyTime เป็นตัวเลือกตัวเลือกสำหรับแอป JSF ของฉัน! ขอบคุณสำหรับผลิตภัณฑ์ที่ดีติดตามการทำงานที่ดี!
หาเรื่อง

เวลาใดก็ได้จะผนวก div ที่ซ่อนอยู่ใหม่สำหรับ UI สำหรับการป้อนเวลาใดก็ได้ (ซึ่งแตกต่างจาก jpery UI datepicker ที่นำ UI div ที่ซ่อนอยู่) มาใช้ทำให้การลดระดับประสิทธิภาพใน MSIE6 ที่ออกแบบมาไม่ดี ดังนั้นอย่าใช้ Any + Time หากคุณต้องการรองรับ MSIE6!
Eduardo

14

ในมุมมองของฉันวันที่และเวลาควรได้รับการจัดการเป็นสองกล่องอินพุตแยกต่างหากเพื่อให้สามารถใช้งานได้อย่างมีประสิทธิภาพและมากที่สุดสำหรับผู้ใช้ที่จะป้อนข้อมูล ให้ผู้ใช้ป้อนข้อมูลทีละอย่างเป็นหลักการที่ดี

ฉันใช้ Core UI DatePickerและตัวเลือกเวลาต่อไปนี้

สิ่งนี้ได้รับแรงบันดาลใจจาก Google ปฏิทินที่ใช้:

jQuery timePicker :
ตัวอย่าง: http://labs.perifer.se/timedatepicker/
โครงการบน github: https://github.com/perifer/timePicker

ฉันพบว่ามันเป็นสิ่งที่ดีที่สุดในบรรดาทางเลือกทั้งหมด ผู้ใช้สามารถป้อนข้อมูลได้อย่างรวดเร็วดูสะอาดง่ายและอนุญาตให้ผู้ใช้ป้อนเวลาเฉพาะลงไปจนถึงนาที

PS: ในมุมมองของฉัน: ตัวเลื่อน (ใช้โดยตัวเลือกตัวเลือกเวลาอื่น) ใช้จำนวนคลิกมากเกินไปและต้องการความแม่นยำของเมาส์จากผู้ใช้ (ซึ่งทำให้อินพุตช้าลง)


Core UI DatePicker: jqueryui.com/demos/datepicker
Magne

สิ่งนี้จะฆ่าประโยชน์ของโมเดลที่มีผลผูกพันของ C # MVC สำหรับฟิลด์นั้น
Serj Sagan

13

ประสบการณ์ที่ดีที่สุดของฉันกับ datepicker นั้นอยู่ที่ต้นแบบเวลาใดก็ได้ ฉันรู้ว่าไม่ใช่ jQuery แต่ก็อาจคุ้มค่ากับการประนีประนอมสำหรับคุณ ฉันรู้ว่าไม่มีต้นแบบและมันก็ยังง่ายพอที่จะใช้งานได้

มีข้อแม้หนึ่งข้อที่ฉันพบ: ไม่สามารถใช้งานร่วมกับเบราว์เซอร์บางตัวได้ นั่นคือมันไม่ได้ทำงานกับต้นแบบรุ่นใหม่บน Chrome


1
ถ้าฉันสามารถใช้ต้นแบบนี้จะไม่เป็นปัญหาโชคไม่ดีที่เราติดอยู่กับ jQuery สำหรับแอพนี้
เชลซี

7
เพียงแค่อัปเดต - ทุกเวลา 3 ทำงานร่วมกับ jQuery ได้แล้ว
Jaxidian

ฉันไม่ได้คิดถึงเรื่องนี้มาหลายเดือนแล้ว แต่โปรเจ็กต์ส่วนตัวของฉันต้องการอัปเดตบ้างและฉันก็พร้อมแล้วที่จะส่งเรื่องเสียวซ่า ฉันคิดว่าฉันจะแทนที่ datepicker ในขณะที่ฉันอยู่ที่นี่เพราะฉันไม่ต้องการคุณสมบัติทั้งหมดของเวลาใด ๆ และคิดว่าฉันอาจจะไป jQuery ทั้งหมด และแบม! ฉันเจอสิ่งนี้ ช่วงเวลาที่ยอดเยี่ยม
David Berger

ดีแม้ว่าตัวเลือกปี (คลิก <หรือ>) นั้นเป็นสิ่งที่น่าดึงดูดใจสำหรับฉัน
coder

7

เพียงเพิ่มข้อมูลที่นี่โครงการ Fluid มีภาพรวมการเขียนข้อมูลแบบ wiki ที่ดีโดยมีตัวเลือกวันที่และ / หรือตัวเลือกเวลาจำนวนมากที่นี่


4

ฉันค้นคว้าสิ่งนี้เมื่อเร็ว ๆ นี้และยังไม่พบตัวเลือกวันที่ที่เหมาะสมซึ่งรวมถึงตัวเลือกเวลาที่ดี สิ่งที่ฉันลงเอยด้วยการใช้ก็คือDatePicker ที่ยอดเยี่ยมของ eyeconพร้อมด้วยการเลื่อนลงสองครั้งแบบง่าย ๆ ฉันถูกล่อลวงให้ใช้Timepickr.jsแต่ดูเหมือนว่าเป็นวิธีที่ดีจริงๆ


3

ฉันพบปัญหาเดียวกัน จริง ๆ แล้วฉันพัฒนาโดยใช้การเขียนโปรแกรมฝั่งเซิร์ฟเวอร์ แต่ฉันทำการค้นหาอย่างรวดเร็วเพื่อลองช่วยเหลือคุณและพบสิ่งนี้

ดูเหมือนว่าไม่ได้ดูแหล่งที่มามากเกินไป แต่ดูเหมือนว่าจะเป็นจาวาสคริปต์อย่างแท้จริง

ลองดู:

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

นี่คือลิงค์หน้าตัวอย่าง:

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

โชคดี


ฉันใช้มันมาหลายปีแล้ว มันใช้เวลานานในการแปรงฟัน แต่ใช้งานได้
coder

1

นี่คือรหัสบางส่วนที่ฉันใช้เพื่อให้ผู้ใช้เลือกหนึ่ง datetimepicker ตั้งค่า datetime และมี datetimepicker อื่นเพิ่มหนึ่งนาทีในเวลานั้น

ฉันต้องการสิ่งนี้สำหรับการควบคุมยาที่กำหนดเอง ....

อย่างไรก็ตามคิดว่ามันอาจช่วยคนอื่นเพราะฉันไม่สามารถหาคำตอบได้ที่ไหนออนไลน์ ...

(อย่างน้อยก็ไม่ใช่คำตอบที่สมบูรณ์)

โปรดทราบว่ามีการเพิ่ม 60000 เพิ่มหนึ่งนาที (60 * 1,000 มิลลิวินาที)

$('.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 แต่ก็ทำงานได้ดีสำหรับปฏิทินที่มีเวลา: JavaScript วันที่เวลาเลือก

ฉันเพิ่งผูกเหตุการณ์การคลิกเพื่อเปิด:

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

1
อัปเดตลิงค์ - พวกเขาย้ายมัน
bigspotteddog

ฉันใช้อันนั้นมาสองสามปีแล้วแม้ว่าฉันจะเรียกมันแตกต่างออกไป (ดังนั้นไม่รู้จักจากรหัสของคุณ) ฉันได้รับการโยกย้ายไปยัง DatePicker jquery ของเนื่องจากป่าฝนกำลังมองหาในฟันยาวเล็กน้อย
coder

0

ฉันทำฟังก์ชันเดียวเช่นนี้:

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;
}

จากนั้นฉันใช้ jQuery UI datepicker เช่นนี้:

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

ดังนั้นฉันจึงได้รับค่าเช่นนี้: 2010-10-31 12:41:57


บางครั้งเราจำเป็นต้องกำหนดเวลา (ไม่ได้ใช้ฟังก์ชั่น getTime)
bungdito

-4

เรามีปัญหาในการหาที่ทำงานตามที่เราต้องการดังนั้นฉันจึงเขียน ฉันรักษาแหล่งที่มาและแก้ไขข้อบกพร่องตามที่เกิดขึ้นพร้อมให้การสนับสนุนฟรี

http://www.yart.com.au/Resources/Programming/ASP-NET-JQuery-Date-Time-Control.aspx


ลิงค์นี้ไม่ทำงานอย่างน่าเสียดาย
สเตฟาน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.