如何控制管理几个数据选择器中的最小值和最大值

本文关键字:选择器 最小值 最大值 数据 何控制 控制 管理 几个 | 更新日期: 2023-09-27 17:59:53

在我的剃刀视图中,我有一个bucle,其中按每个日期显示startdateenddate。每个日期选择器都有一个范围限制(我的意思是,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中选择二月二日,那么ENDDATE中的最小值应该是二月二日。这是我还没有完成的。

因此,我在这个网站上使用了这个概念: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);
    }
});

如何控制管理几个数据选择器中的最小值和最大值

如果它不是直接的同级,但仍然是同级,则可以使用nextAll()查找与选择器匹配的所有下一个同级,然后使用first()获取第一个同级,它将是最接近当前日期选择器的同级,如下所示:

$("[id^='from']").datepicker({
    defaultDate: "+1w",
    numberOfMonths: 1,
    onClose: function(selectedDate)
    {
        $(this).nextAll("[id^='to']")
               .first()
               .datepicker("option", "minDate", selectedDate);
    }
});

还有一个prevAll(),用于相反的方向等。