Reputation: 6871
Currently working on a site where I use moment.js. I want to use jquery only.
I get the current minute using:
var minute = moment().minute();
but I want to set an alarm starting at the nearest next 5 minute mark.
So say it's 8:38pm now, var minute would be 38. I'd want to set the input to a value of 40 (that is, 40 minutes)
So where my options are:
<select id="minuteID">
<option value="0">00</option>
<option value="5">05</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
<option value="35">35</option>
<option value="40">40</option>
<option value="45">45</option>
<option value="50">50</option>
<option value=55>55</option>
</select>
And I can input the item like so:
var minute = moment().minute();
$("#minuteID option[value=" + minute + "]").prop("selected", "selected");
How do I make it so that instead of finding the exact option minute, it finds it at intervals of 5 (to the nearest 5 marker).
Upvotes: 7
Views: 8338
Reputation: 3582
var minute = roundToFive(moment().minute());
$("#minuteID option[value=" + minute + "]").prop("selected", "selected");
function roundToFive(num) {
var temp = num%5;
if (temp<3)
return num-temp;
else
return num+5-temp;
}
Upvotes: 2