根据一天中的时间设置默认选项的选定值
set default option selected value based on time of day
我有一个表单,它创建一个函数并设置执行该函数的每日时间。
我想更改我在07:00设置的"选定"值,以根据用户的当前时间进行选择,四舍五入到下一个小时。
有什么想法可以用javascript或jQuery mod最好地实现吗?
这是标记示例,只是为了给您一个视觉效果。
换句话说,而不是:
<option value="07:00" selected>7:00 am</option>
它只是:
<option value="07:00">7:00 am</option>
与其他选项值一样,但会根据用户当地时间的下一个可用小时为用户选择默认值。
以下是完整的列表,如果它能提供一个更好的例子:
<select id="ExecutionTime" name="ExecutionTime">
<option value="00:00">12:00 am</option><option value="01:00">1:00 am</option><option value="02:00">2:00 am</option><option value="03:00">3:00 am</option><option value="04:00">4:00 am</option><option value="05:00">5:00 am</option><option value="06:00">6:00 am</option><option value="07:00" selected>7:00 am</option><option value="08:00">8:00 am</option><option value="09:00">9:00 am</option><option value="10:00">10:00 am</option><option value="11:00">11:00 am</option><option value="12:00">12:00 pm</option><option value="13:00">1:00 pm</option><option value="14:00">2:00 pm</option><option value="15:00">3:00 pm</option><option value="16:00">4:00 pm</option><option value="17:00">5:00 pm</option><option value="18:00">6:00 pm</option><option value="19:00">7:00 pm</option><option value="20:00">8:00 pm</option><option value="21:00">9:00 pm</option><option value="22:00">10:00 pm</option><option value="23:00">11:00 pm</option>
</select>
我疯了吗?或者这可以在js中轻松完成吗?
这将自动填充下拉列表,然后选择当前小时。
var d = new Date().getHours(); // get the hour in 24 hour format
var a = d > 11 ? "pm" : "am"; /// get AM or PM
var hour = ((d + 11) % 12 + 1); // Convert 24 hours to 12
selectList.val(hour + ':00 ' + a); // Set the dropdowns selected value
http://jsfiddle.net/sa9nqfxm/
var now = new Date();
var curHour = now.getHours();
if (now.getMinutes() != 0) {
curHour = (curHour + 1) % 24; // round up
}
var hourString = (curHour < 10 ? "0" : "") + curHour + ":00";
$("#ExecutionTime option[value='"+hourString+"']").attr('selected', true);
$("#ExecutionTime option:not([value='"+hourString+"'])").attr('selected', false);
var selectList = $('#selectDropdown');
for(var i =0; i < 24; i++){
var hour = ((i + 11) % 12 + 1);
var a = i > 11 ? "pm" : "am";
selectList.append('<option value="'+ hour + ':00 '+a+'" >'+ hour + ':00 '+a+'</option>');
}
var d = new Date().getHours();
var a = i > 11 ? "pm" : "am";
var hour = ((d + 11) % 12 + 1);
selectList.val(hour + ':00 ' + a);
相关文章:
- CKeditor:更改对话框中的默认选择选项
- 如何从外部页面激活非默认引导选项卡
- AngularJS ng选项在选择一个选项后删除了默认的空白值
- 或者在表单上选择默认选项文本(选择1)
- Angularjs-设置不带ng选项的select的默认值
- 在AngularJS Dropdownlost中设置默认文本选项
- 使用jQuery向“选择选项”添加默认属性
- Angular:如何使用ngRepeat并设置默认单选按钮选项
- 选择非空选项后,默认选项消失
- 使用 ajax 填充选择时没有选定的默认选项的问题
- javascript中选项对象的默认值
- 我在angular JS中选择的默认选项
- 如何设置助手的默认(全局)选项
- 将默认选项添加到ng-if
- 默认按表列选择选项(使用Javascript)
- HTML选择:将默认值设置为给定值,而不是从选项列表中选择
- 如何在“挖空.js”中单击后显示选项默认标题
- 避免筛选异步 ng 选项默认值
- 显示所有选项的 ng 选项默认选项
- jQuery-插件选项默认扩展()