如果值增加了剑道数字文本框中的最大值,则要显示错误消息

时间:2015-01-01 09:28:21

标签: javascript kendonumerictextbox

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

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

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

任何人都可以告诉我如何实现它。我试图将条件应用于kendo数字文本框的更改事件。但是我得到了错误,因为没有在控制台上定义更改。

这是我的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;
    }
} 
      )

1 个答案:

答案 0 :(得分: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在页面上并加载。