嗨,这是一个棘手的问题:)
我有一个 json 对象,我通过这种方式创建一个选择表单字段:
for(var i = 0; i < jsonData.vpcourse[0].items.length; i++) {
$('#kw').append('<option value="'+jsonData.vpcourse[0].items[i].datum+'">'+jsonData.vpcourse[0].items[i].datum+'</option>');
console.log(jsonData.vpcourse[0].items[i].datum);
}
我的问题:选择了最后一个添加的选项,但我需要选择实际日期在哪个日期范围内的选项,如下所示:
<option value="07.10.2013-01.11.2013">07.10.2013-01.11.2013</option>
<option value="09.09.2013-04.10.2013">09.09.2013-04.10.2013</option>
<option value="12.08.2013-06.09.2013">12.08.2013-06.09.2013</option>
<option value="15.07.2013-09.08.2013" selected="selected">15.07.2013-09.08.2013</option>
<option value="17.06.2013-12.07.2013">17.06.2013-12.07.2013</option>
<option value="20.05.2013-14.06.2013">20.05.2013-14.06.2013</option>
<option value="22.04.2013-17.05.2013">22.04.2013-17.05.2013</option>
<option value="25.03.2013-19.04.2013">25.03.2013-19.04.2013</option>
最好的方法是直接在 for 循环中检查实际日期是否在该日期范围“07.10.2013-01.11.2013”内,例如,并将 selected="selected" 添加到该附加。
这有可能吗!?
更新:
for(var i = 0; i < jsonData.vpcourse[0].items.length; i++)
{
// testDate looks like: 29.12.2014-23.01.2015
var testDate = jsonData.vpcourse[0].items[i].datum;
var n=testDate.split("-");
var x = n[0].split(".");
var y = n[1].split(".");
var smaller = new Date(x[2], x[1], x[0]);
var bigger = new Date(y[2], y[1], y[0]);
var today = new Date();
if (smaller <= today && today <= bigger) {
$('#kw').append('<option value="'+jsonData.vpcourse[0].items[i].datum+'" selected="selected">'+jsonData.vpcourse[0].items[i].datum+'</option>');
} else {
$('#kw').append('<option value="'+jsonData.vpcourse[0].items[i].datum+'">'+jsonData.vpcourse[0].items[i].datum+'</option>');
}
//console.log(jsonData.vpcourse[0].items[i].datum);
}
工作 90% :D 它选择这个:
<option value="12.08.2013-06.09.2013">12.08.2013-06.09.2013</option>
<option value="15.07.2013-09.08.2013">15.07.2013-09.08.2013</option>
<option value="17.06.2013-12.07.2013" selected="selected">17.06.2013-12.07.2013</option>
<option value="20.05.2013-14.06.2013">20.05.2013-14.06.2013</option>
但它应该是以后的一种选择,所以有什么问题吗?:(
更新 2:
它有效,问题是我必须从月份变量中得到-1......
工作示例:
var today = new Date();
for(var i = 0; i < jsonData.vpcourse[0].items.length; i++)
{
var testDate = jsonData.vpcourse[0].items[i].datum;
var n=testDate.split("-");
var x = n[0].split(".");
var y = n[1].split(".");
var smaller = new Date(x[2], x[1]-1, x[0]);
var bigger = new Date(y[2], y[1]-1, y[0]);
if (smaller <= today && today <= bigger) {
$('#kw').append('<option value="'+jsonData.vpcourse[0].items[i].datum+'" selected="selected">'+jsonData.vpcourse[0].items[i].datum+'</option>');
} else {
$('#kw').append('<option value="'+jsonData.vpcourse[0].items[i].datum+'">'+jsonData.vpcourse[0].items[i].datum+'</option>');
}
//console.log(jsonData.vpcourse[0].items[i].datum);
}
Thx 转到 LightStyle :)