如何按当前时间设置下拉列表的默认选择?

Posted

技术标签:

【中文标题】如何按当前时间设置下拉列表的默认选择?【英文标题】:How to set default selection of a dropdown by current hour? 【发布时间】:2018-07-10 07:14:37 【问题描述】:

我尝试为网站制作时间选择器或查找 jquery、Bootstrap 等是否有它们自己的(html 自己在 Firefox 上使用 AM/PM,我无法更改),我发现的只是 github 项目和我不能在这个项目中使用很多像它们这样的依赖项。

所以我的最后一个解决方案是添加 2 个下拉菜单,1 个当前小时,1 个当前分钟。不是最漂亮的解决方案,但它可以完成工作。

<div class="col-lg-2">
    <select name="Hour">
    @
        for(int i = 0; i < 24; i++)
        
            @:<option value="@i">@i.ToString("D2")</option>
        
    
    </select>
    <b>:</b>
    <select name="Minute">
        @
            for (int i = 0; i < 60; i++)
            
                @:<option value="@i">@i.ToString("D2")</option>
            
        
    </select>
</div>

我想要做的是,我有一个将默认日期设置为今天的日期选择器,我想对这些下拉列表做同样的事情,选择当前小时和第一,当前分钟和秒。

我该怎么做?

(也欢迎任何关于更好的时钟/时间选择器的建议,但我发现这个对于我的项目来说已经足够了,而且看起来不错)

【问题讨论】:

我觉得this对你有帮助。 就像我说的,我不能使用 github 项目并且有依赖项。更不用说它是一个日期选择器,我需要一个时间选择器,我已经在使用 jQuery 的日期选择器,效果很好。由于我找不到合适的 Bootstrap、jQuery 或 HTML 的时间选择器,我使用的是下拉菜单。 【参考方案1】:

您可以从日期中获取时间并使用这样的时间重置下拉列表。

var html = '';
for (var i = 0; i < 60; i++) 
  html += "<option value = '" + i + "' >" + i + "</option>";

$('#minute').append(html);
var d = new Date();
var n = d.getMinutes();
$("#minute").val(n);

var htm = '';
for (var j = 0; j < 24; j++) 
  htm += "<option value = '" + j + "' >" + j + "</option>";

$('#hour').append(htm);
var dt = new Date();
var h = dt.getHours();
$("#hour").val(h);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id='minute'>

</select>
<select id='hour'>

</select>

【讨论】:

我已经从 Razor 获得下拉选项,所以我假设我需要的只是 var dt = new Date(); var h = dt.getHours(); $("#hour").val(h);那么部分呢? 很高兴为您提供帮助。快乐编码:)

以上是关于如何按当前时间设置下拉列表的默认选择?的主要内容,如果未能解决你的问题,请参考以下文章

根据当前时间显示下拉列表的年月,需要显示之前六个月,用JS怎么来弄?

更改下拉列表中关键字的默认顺序

在jsp中如何实现加一个动态下拉框选择年份,并在当前页面显示相应的月份值?

关于下拉框列表不可选择相同值的设置一:当前DOM不可选

如何将变量(日期列表)默认为当前日期?

如何根据对象属性值在下拉列表中选择值 - 选择和角度