2012-01-18 12 views
5

मैं जावास्क्रिप्ट टाइम मैनिपुलेशन में बहुत अच्छा नहीं हूं।जावास्क्रिप्ट गतिशील समय ड्रॉप

यह वही है जो मैं करने की कोशिश कर रहा हूं: मेरे पास एक यूआई है जिसे अंतराल ड्रॉप डाउन सूची की आवश्यकता है। यह 15 मिनट की वृद्धि में अनिवार्य रूप से 7:00 पूर्वाह्न से शाम 10:00 बजे तक का एक सीमित सेट है। मैं jQuery का उपयोग कर रहा है और उड़ान भरने के लिए एक का चयन करें बॉक्स कि इस तरह दिखता है पर निर्माण करना चाहते हैं:

<select> 
<option value="420">7:00 AM</option> 
<option value="435">7:15 AM</option> 
<option value="450">7:30 AM</option> 
etc... 
</select> 

किसी को भी कैसे जावास्क्रिप्ट/jQuery में यह करने के लिए पता है।

for(int i = 420; i<=1320; i+=15){ 
//use value of i to increment a date or something and create an option for the drop down... this is where I am stuck 
} 
+0

बस घंटे के लिए एक चर और मिनट के लिए एक चर है कि मैं कुछ इस तरह गतिशील करना चाहते हैं। मिनट परिवर्तक को 15 मिनट तक बढ़ाएं और घंटे परिवर्तनीय बढ़ाएं यदि मिनट परिवर्तनीय 60 से अधिक हो जाता है। यह संभवतः कम कुशल होगा और तारीख का उपयोग करने से कम ओवरहेड होगा। – Hello71

उत्तर

18

निम्नलिखित स्निपेट की मदद करनी चाहिए आप अंदाजा हो:

function populate(selector) { 
    var select = $(selector); 
    var hours, minutes, ampm; 
    for(var i = 420; i <= 1320; i += 15){ 
     hours = Math.floor(i/60); 
     minutes = i % 60; 
     if (minutes < 10){ 
      minutes = '0' + minutes; // adding leading zero 
     } 
     ampm = hours % 24 < 12 ? 'AM' : 'PM'; 
     hours = hours % 12; 
     if (hours === 0){ 
      hours = 12; 
     } 
     select.append($('<option></option>') 
      .attr('value', i) 
      .text(hours + ':' + minutes + ' ' + ampm)); 
    } 
} 

populate('#timeSelect'); // use selector for your select 
+0

मुझे यह मिल गया! धन्यवाद!! – Matt

संबंधित मुद्दे