NumericTextBox有4个小数位

时间:2012-11-23 17:22:46

标签: kendo-ui kendonumerictextbox

我猜想随着剑道论坛工作方式的即将发生变化(只有付费客户),那里很难有机会回答问题,所以我会在这里尝试......

我已经设置了一个可编辑的网格,它使用两个数字字段的自定义验证器。验证器使用ajax查询获取有效参数(但我认为这不重要)。

这一切都正常,但我需要NumericTextBoxes支持4个小数位,默认情况下它们不会。

我为这些字段创建了自定义网格编辑器,这允许我输入4个小数位,但它会破坏自定义验证。

如何让NumericTextBox在编辑模式下支持4个小数位并允许自定义验证规则?

提前致谢

这是字段定义,我正在使用验证器:

end: { type: 'number', validation: {
    end: function(input){  
        if (input.attr('name')=='end' && $('input[name=lookup]').val()!=''){  
            $.ajax({  
                type: 'post',   
                url: '/ajax/lookupParams',   
                data: { lookup:$('input[name=lookup]').val(), csrf_token: token },  
                success: function(data) {  
                    start = data.start;  
                    end = data.end  
                },  
                   dataType: 'json',  
                   async: false  
                });  
            input.attr('data-end-msg', 'End must be between '+start+' and '+end);  
            return (input.val() >= start && input.val() <= end);  
         }  
         return true;  
     }  
}  

此位有效 - ajax用于根据查找字段的当前值检索有效的开始值和结束值。如果我使用自定义编辑器支持4位小数,它就会停止工作。

1 个答案:

答案 0 :(得分:6)

KendoUI NumericTextBoxes支持4位小数和验证:

拥有以下HTML:

<input id="num" value="123.456789"
       data-format="n4"
       data-decimals="4"
       data-step="0.0001"
       data-role="numerictextbox"/>

以及以下初始化:

$("#num").kendoValidator({
    rules   :{
        custom:function (input) {
            var val = Math.floor(input.val() * 10000);
            return val % 2;
        }
    },
    messages:{
        custom:"Your number * 10000 needs to be odd"
    }
});
kendo.init($("#num"));

这定义了NumericTextBox四位数 - 可视化和编辑模式 - 以及自定义Validator,用于检查十进制数的最后一位是奇数。

顺便说一句,欢迎来到Stack Overflow上的KendoUI !!