0

我想知道我们如何在不影响 Kendo 中其他数字控件的情况下动态设置/更改文化为“货币”格式的数字控件。

场景:我有 9 个剑道数字文本框,其中 4 个是“货币”格式。我必须根据用户从下拉列表中选择的货币显示在特定“文化”中输入“货币”控件的数字。下拉项目会将预期的文化设置为它们的值。

例如:如果下拉菜单有两个项目:“US-Dollar”、“Euro”,那么如果用户从下拉菜单中选择“US Dollar”,则在“Currency”控件中输入的数字应格式化为“en -美国”文化。

我正在使用下面的 javascript 配置来设置剑道数字文本框。

 function setupNumericTextBoxes(root) {
        
   root.find("[data-role='numerictextbox']").each(function (index, dataControlObj) {

var textbox = $(dataControlObj).data("kendoNumericTextBox");
var numberFormat = $(dataControlObj).data("numberformat");
var cultureToSet = $(dataControlObj).data("culture");

var options = {};

            if (numberFormat === "percentage") {
                options.format = "##.00 \\%"
                options.decimals = 2;
                options.min = 0;
                options.spinners = false;
            }
            else if (numberFormat === "currency") {
                options.format = "c"
                options.decimals = 0;
                options.min = null;
                options.spinners = false;
            }
            else if (numberFormat === "year") {
                options.format = "#"
                options.decimals = 0;
                options.min = 0;
                options.spinners = false;
                setUpYearValidation(dataControlObj);
            }
            else if (numberFormat === "standard") {
                options.format = "n0"
                options.decimals = 0;
                options.min = 0;
                options.spinners = false;
            }
            else {
                options.format = "n0"
                options.decimals = 0;
                options.spinners = false;
            }

            if (cultureToSet){
                options.culture = cultureToSet;
            }

            textbox.setOptions(options);
            // Apply the format
            textbox.value(textbox.value());

        });
   
   

需要帮助来解决问题。

4

1 回答 1

0

为了使用 NumericTextBox 的文化配置选项,您还必须确保包含您要支持的每种文化的相应 kendo.culture.LANGUAGE.min.js 文件,否则文化的格式信息将不会包含在 kendo 用于获取格式选项的 kendo.cultures 数组中。

http://docs.telerik.com/kendo-ui/api/javascript/ui/numerictextbox#configuration-culture

因此,如果您想支持“en-US”和“en-IE”,您需要同时包含两者

kendo.culture.en-IE.min.js(创建 kendo.cultures["en-IE"] 条目)

kendo.culture.en-US.min.js(创建 kendo.cultures["en-US"] 条目)。

然后,您可以使用“en-US”和“en-IE”作为 NumericTextBox 的区域性选项。

演示:http ://dojo.telerik.com/@Stephen/IhUre

于 2016-11-23T16:33:43.370 回答