首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在每次选择另一个日期时在kendodatepicker中设置最大日期

如何在每次选择另一个日期时在kendodatepicker中设置最大日期
EN

Stack Overflow用户
提问于 2021-12-16 13:50:45
回答 1查看 86关注 0票数 0

我有两个剑杆"startDate“和"endDate”。我希望每次用户设置一个日期在开始日期,建立最大日期提前一个月从选定的日期选择在endDate数据报警器。

我第一次这样设置:

代码语言:javascript
运行
复制
 $("#datStartDate").kendoDatePicker({
        start: "month",
        depth: "year",
        format: "dd/MM/yyyy",
        dateInput: true,
        change: (e) => {                
            return moc.rangeStartDate("datStartDate", "datEndDate");
        },
        min: new Date(1900, 0, 1),
        max: new Date(),
        value: new Date()
    });

    $("#datEndDate").kendoDatePicker({
        start: "month",
        depth: "year",
        format: "dd/MM/yyyy",
        dateInput: true,
        max: new Date(),
        change: (e) => {
            return moc.rangeEndDate("datStartDate", "datEndDate");
        },
        value: new Date()
    });

我尝试这样做来设置最大值,每次startDate选择器都是廉价的:

代码语言:javascript
运行
复制
$("#datStartDate").change(() => {
        let startDate = ($("#datStartDate").val()).split("/");
        console.log("cambio de fecha", parseInt(startDate[2]), parseInt(startDate[1]), parseInt(startDate[0]))
        let datePicker = $("#datEndDate").data("kendoDatePicker");
        datePicker.max(new Date(parseInt(startDate[2]), parseInt(startDate[1]), parseInt(startDate[0])));
        datePicker.value(new Date(parseInt(startDate[2]), parseInt(startDate[1]), parseInt(startDate[0])))
    })

它不起作用,我也不知道有什么错误。我该怎么做?非常感谢你抽出时间。

我用的是:

  • KendoUI
  • JavaScript
  • ASP .NET MVC
  • RAZOR
  • jquery
EN

回答 1

Stack Overflow用户

发布于 2021-12-19 12:30:02

可以在Jquery中使用它。

代码语言:javascript
运行
复制
function startChange() {
    var endPicker = $("#dtpStartDate").data("kendoDatePicker"),
    startDate = this.value();

    if (startDate) {
        startDate = new Date(startDate);
        startDate.setDate(startDate.getDate());
        endPicker.max(startDate + 30);
    }
}

function endChange() {
    var startPicker = $("#dtpEndDate").data("kendoDatePicker"),
    endDate = this.value();

    if (endDate) {
        endDate = new Date(endDate);
        endDate.setDate(endDate.getDate());
        startPicker.max(endDate - 30);
    }
}

在剃须刀文件中,您可以创建这样的数据编辑器

代码语言:javascript
运行
复制
<div class="form-group">
    <label class="col-md-4 control-label">@Html.LabelFor(m => m.StartDate)</label>
    <div class="col-md-8">
        @(Html.Kendo().DatePickerFor(m => m.StartDate)
            .HtmlAttributes(new { @Id = "dtpStartDate", style = "width:100%", required = "required", validationMessage = "Select Start Date" })
            .Events(e => e.Change("startChange")))
    </div>
</div>
<div class="form-group">
    <label class="col-md-4 control-label">@Html.LabelFor(m => m.EndDate)</label>
    <div class="col-md-8">
        @(Html.Kendo().DatePickerFor(m => m.EndDate)
            .HtmlAttributes(new { @Id = "dtpEndDate", style = "width:100%", required = "required", validationMessage = "Select End Date" })
            .Events(e=>e.Change("endChange")))
    </div>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70380154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档