我有这种情况:
两个日期选择器、两个值和一个选择(HTML 术语)。
Select Start
<input type="date" name ="datepicker_start" id="datepicker" value="" class="datepicker" size="20" />
<br>
Select End
<input type="date" name ="datepicker_end" id="datepicker2" value="" class="datepicker" size="20" />
<br>
Balance 1
<input type="number" name="tleave" id="Total" value="20" readonly="true" size="10" />
<br>
Balance 2
<input type="number" name="tleave2" id="Total2" value="2" readonly="true" size="10" />
<br>
<select onchange="checkdate();" name="LeaveType">
<option value="0"> select balance</option>
<option value="1"> Balance 1</option>
<option value="2"> Balance 2</option>
<option value="3"> Balance 3</option>
</select>
我开始编写代码来检查输入日期并将其与取决于选择选项的值进行比较。
function checkdate() {
var start = new Date( $('#datepicker').val() ).getTime(),
end = new Date( $('#datepicker2').val() ).getTime();
diff = ((end - start) / 86400000) ;
//1000 * 60 * 60 * 24 = 1 day = 86400000
if ($('#element option[value="1"]').attr("selected", "selected"))
{
if( diff > $('#Total').val())
{
alert( diff+ " days of balance 1 more than the available" );
}
}
if ($('#element option[value="2"]').attr("selected", "selected"))
{
if( diff > $('#Total2').val())
{
alert( diff+ " days of balance 2 more than the available" );
}
}
};
IE让考虑用户有两个不同的余额,所以在他选择了持续时间后,根据他想要的余额类型,如果余额少于请求的余额,函数应该返回一个弹出窗口。
当前的问题是:该功能在更改选项时没有分离。(如果您检查下面的代码,您会更好地理解)
或者这是我的JSFiddle