0

我有一个剑道数字文本框。我已将最小值设置为 1,最大值设置为 31。如果我输入大于 31 的值,我想显示一条错误消息“值必须介于 1 和 31 之间”。如果输入更大的值,小部件将将其四舍五入到最大值。因此,如果您使用键盘输入值 50 并从输入中失去焦点或保存表单,则该值将四舍五入为最大值 31。

我希望当您在小部件文本框中输入更大的值时显示错误消息。这是我的代码:

        @(Html.Kendo().NumericTextBox<int>()
        .Name("month_day_1")
        .Format("#")
        .Min(1)
        .Max(31)
        .Events(evnt => evnt.Change("Change"))

谁能告诉我如何实现。我试图在剑道数字文本框的更改事件上应用条件。但是我收到错误,因为控制台上没有定义更改。

这是我的javascript函数:

    function Change(e) {
    debugger;
    var numerictextbox = $("#month_day_1").data("kendoNumericTextBox");
    var value = numerictextbox.value();

    if (value > 31) {
        alert("Month Day value must be between 1 and 31");
        return false;
    }
} 
      )
4

1 回答 1

0

这应该完全符合您的需要:

    @(Html.Kendo().NumericTextBox<int>()
    .Name("month_day_1")
    .Format("#")
    .Min(1)
    .Events(e => e.Change("ChangeInput"));

function ChangeInput(e) {
    var value = this.value;
    //This should work too
    //Using jQuery --> to use, delete value = this.value and uncomment the line below
    //var value = $("#month_day_1").val();

    if (value > 31) {
        alert("Month Day value must be between 1 and 31");
        return false;
    }
}   

由于您处于输入本身调用的事件中,因此关键字this指的是输入。检索值this.value应该有效。确保您的 JavaScript 在页面上并已加载。

于 2015-01-01T16:49:51.763 回答