在我的剃刀视图中,我的每个日期都显示了startdate
和enddate
。每个日期选择器都有范围限制(我的意思是,StartDate
不能大于EndDate
)。
这是我的剃刀观点
<h2>Configure Sixweeks</h2>
@for (int i = 0; i < Model.Count; i++) {
<div>
<span>@Model[i].Position</span>
@Html.TextBoxFor(model => model[i].StartDate, new { id = "from" + i })
@Html.TextBoxFor(model => model[i].EndDate, new { id = "to" + i })
</div>
}
这是最重要的,我不知道指定最小值和最大值。例如,如果我在STARTDATE中选择2月2日,那么ENDDATE中的最小值应该是2月2日。那我还没有完成。
所以我从这个网站雇用了这个概念:http://api.jquery.com/attribute-starts-with-selector/但是它仍然无效,我在以下jquery代码中缺少什么?
$("[id^='from']").datepicker({
defaultDate: "+1w",
numberOfMonths: 1,
onClose: function(selectedDate)
{
$(this).next("[id^='to']").datepicker("option", "minDate", selectedDate);
}
});
$("[id^='to']").datepicker({
defaultDate: "+1w",
numberOfMonths: 1,
onClose: function (selectedDate) {
$(this).prev("[id^='from']").datepicker("option", "maxDate", selectedDate);
}
});
答案 0 :(得分:1)
如果它不是直接兄弟姐妹,但仍然是兄弟姐妹,你可以使用nextAll()
查找匹配选择器的所有下一个兄弟姐妹,然后first()
获取第一个兄弟姐妹,这将是最接近当前日期选择器的一个,如下:
$("[id^='from']").datepicker({
defaultDate: "+1w",
numberOfMonths: 1,
onClose: function(selectedDate)
{
$(this).nextAll("[id^='to']")
.first()
.datepicker("option", "minDate", selectedDate);
}
});
并且有prevAll()
以相反的方式等。