我想知道如何动态设置/更改文化“货币”#39;格式化数字控件,而不影响Kendo中的其他数字控件。
场景: 我有9个剑道数字文本框,其中4个是"货币"格式。我必须显示输入的数字" Currency"控制特定的文化"基于用户从下拉列表中选择的货币。下拉项目将有意将文化设置为其值。
例如:如果下拉列表有两个项目:" US-Dollar" ,"欧元"然后 如果用户正在选择"美元"从下拉列表中,然后输入数字" Currency"控件应格式化为" en-US"文化。
我使用以下javascript配置来设置kendo数字文本框。
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());
});

需要帮助才能解决问题。
答案 0 :(得分: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的文化选项。