1

私のかみそりのビューでは、各日付ごとに astartdateと を表示する bucle があり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);
    }
});
4

1 に答える 1

1

それが直接の兄弟ではないが、それでも兄弟である場合はnextAll()、セレクターに一致する次のすべての兄弟を見つけてfirst()から、現在の日付ピッカーに最も近い最初の兄弟を取得するために使用できます。

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

そしてprevAll()、反対の方向に進むためのなどがあります。

于 2013-02-19T00:27:03.223 に答える