从API获得'时间'和'时间'我放入选择框如:
<select id="time">
<option value="19:00:00">19:00:00</option>
<option value="20:00:00">20:00:00</option>
<option value="21:00:00">21:00:00</option>
<option value="22:00:00">22:00:00</option> /// ETC
</select>
我希望将20:00:00显示为默认时间,因此我只需编写jquery代码:
$('#time').val('20:00:00');
问题是因为API不会在每次20:00:00作为选项返回我,所以我需要选择其他时间,所以如何用jquery选择最接近20:00:00的时间等等。如果选择框中没有20:00:00的21:00:00选择?
答案 0 :(得分:2)
您可以找到所有等于或大于所需时间的选项,然后选择第一个选项,前提是列表已经订购。
var time = '20:00:00';
function changeTime ( value ) {
//select all the options and filter them
$('#time option').filter(function(index, element){
//return just the ones that have a value equal to or
//greater than our desired time
return element.value >= value;
}).eq(0).prop('selected', true); //select the first one
}
changeTime( time );
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="time">
<option value="19:00:00">19:00:00</option>
<option value="21:00:00">21:00:00</option>
<option value="22:00:00">22:00:00</option> /// ETC
</select>
&#13;