What we Think , latest news

使用year,month获取date.length并带入select

html内容

<select name="year" id="year">
    <option value="0">--</option>
    <option value="1999">1999</option>
    <option value="2000">2000</option>
    <option value="2001">2001</option>
</select><select name="month" id="month">
    <option value="0">--</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>    
  <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select><select name="date" id="date"> <option value="0">--</option> </select> <p id="d"></p>

思路1:做监听事件。需要写出计算出用已选择的年份和月份来计算出天数的Function,再做循环在id为date的表内添加option为日期;

思路2:为id为year的做监听事件,用selectindex=“”的方式来将date和month值为所选项(0)

思路3:为id为month做监听事件,同是使用Selectindex=""的方式将date为初始化状态.

首先做监听事件获取到所选择的值:

    year.addEventListener('change', function () {
month.selectedIndex = 0;//将月份初始化
date.selectedIndex = 0;//将日期初始化
var yearval = year.value; //获取到的value赋值给yearval
month.addEventListener('change', function () { //由于需要将year下month,date的设置成初始化,所以要在year下设置监听事件
date.selectedIndex = 0;
var monthval = month.value;//略

//以上将可以获取到year和month的值。接下来创建计算天数的function

function getDays(year, month) {//计算天数function,使用0来取最后 一天的值
var date = new Date(year, month, 0);
return date.getDate();//最后传出得出的天数
}

var days = getDays(yearval, monthval);//代入计算赋值给days,获取到了天数接下来的思路是用for循环创建option*天数
console.log(days);
//for循环days添加option
for (var i = 1; i < days; i++) {
console.log(days);
var option = document.createElement('option');
date.appendChild(option);
date[i].innerText = i;//用i++的方式循环i中的数值
date[i].value = i

}
})
})

 

posted @ 2016-03-28 14:23  sakura丶shadow  阅读(495)  评论(0编辑  收藏  举报