ตัวเลือกวันที่ / เวลา 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.