在Kendo NumericTextBox中为百分比添加%符号

时间:2013-01-02 19:35:23

标签: kendo-ui kendonumerictextbox

尝试将%符号添加到Kendo NumericTextBox中的数字。他们建议将%符号转义为:

$("#numeric").kendoNumericTextBox({
    format: "# \%"
});

但是当我给它一个值3时,它仍然给我300%!

来自Kendo文档:

  

“%” - 百分比占位符将数字乘以100并插入一个   结果字符串中的本地化百分比符号。注意:'%'符号是   解释为格式字符串中的格式说明符。如果你需要   为防止这种情况,您需要在'%'符号前加一个反斜杠    - 'kendo.toString(12, "# \%")' - > 12%(en-us)。

4 个答案:

答案 0 :(得分:4)

你看到this论坛帖吗?看起来你需要用两个斜线来逃避......

http://jsbin.com/aruqeh/1/

答案 1 :(得分:4)

$("#numeric").kendoNumericTextBox({
  format: "# \\%"
});

答案 2 :(得分:4)

我在.cshtml文件中的一个网格列中工作,对我来说,以下是有效的:

  Format("{0:#.## \\'%'}");

注意%符号周围的两个单引号。

答案 3 :(得分:0)

作为对此处其他答案的补充,我想补充一点,如果您使用带有ASP.NET Razor视图语法的Kendo UI,并且您的格式字符串必须从输入标记本身传入,您需要将Kendo UI格式字符串转换为字符串文字,否则JavaScript将最终转义转义字符。例如,在我正在处理的应用程序中,我们有一个自定义数据字段,用于html帮助程序用于创建Kendo NumericTextBox的格式。

示例:

<input data-custformat="##.##\\%" value="12"/>

无法正确呈现格式。输出看起来像1200 \%,因为双反斜杠转义为单个反斜杠,并且该字段保持默认的Kendo百分比行为,将字段的值乘以100.

然而,

<input data-custformat=@(@"##.##\%") />

正确格式化数字,并覆盖默认的Kendo百分比行为。请注意,在字符串文字中,只使用了一个反斜杠。

这是一个有点小众和微妙的问题,但在尝试将Kendo UI与ASP.NET MVC集成时引起了一些挫折。