我正在尝试使用Jquery在下拉列表中选择一个选项。 如果今天的日期小于15,则当前月份在下拉列表中选择为true。 如果今天的日期大于15,下一个月在下拉列表中选择为true。 (选择到下拉列表中的值)。
HTML
<select class="availDropdown">
<option value="">Month</option>
<option value="Jan">Jan</option>
<option value="Feb">Feb</option>
<option value="March">March</option>
<option value="April">April</option>
<option value="May">May</option>
<option value="June">June</option>
<option value="July">July</option>
<option value="August">August</option>
<option value="September">September</option>
<option value="October">October</option>
<option value="November">November</option>
<option value="December">December</option>
</select>
答案 0 :(得分:2)
这是一些纯粹的Javascript。我所做的只是为你的选择器添加一个id,所以我可以使用document.getElementById(id),因为我无法快速加载jQuery,但这个概念很简单易懂。
// Find the day of the month
var day = new Date().getDate();
// Find the month number (+1 since it starts at 0, and 0 is your 'select month' option)
var month = new Date().getMonth() + 1;
// increase the month number if the day is bigger than 15
if(day > 15){
month++;
if( month > 12 ) month = 1;
}
// get the select object, list its options and find the one at the months position.
// Set it to true.
document
.getElementById("select")
.options[month]
.selected = true;
抱歉,我使用了错误的功能。 getDay()获取一周中的某一天,这导致了这种情况发生。使用getDate将返回该月的日期(1-31)。它现在有效。我还简化了一些代码,DRY和所有。