1

Kendo NumericTextBox の数値に % 記号を追加しようとしています。% 記号を次のようにエスケープすることをお勧めします。

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

しかし、値 3 を指定しても 300% になります!

剣道のドキュメントから:

"%" - パーセンテージ プレースホルダー 数値を 100 で乗算し、結果の文字列にローカライズされたパーセンテージ記号を挿入します。注: '%' 記号は、書式文字列の書式指定子として解釈されます。これを防ぐ必要がある場合は、'%' 記号の前にバックスラッシュを付ける必要があります'kendo.toString(12, "# \%")'--> 12 % (en-us)。

4

4 に答える 4

5

私は.cshtmlファイルのグリッドの列で作業していましたが、私にとっては次のように機能しています:

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

% 記号の周りに 2 つの一重引用符があることに注意してください。

于 2015-05-06T11:55:31.593 に答える
4

このフォーラムのスレッドを見ましたか? 2 つのスラッシュでエスケープする必要があるようです...

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

于 2013-01-02T23:10:07.123 に答える
4
$("#numeric").kendoNumericTextBox({
  format: "# \\%"
});
于 2013-07-17T20:23:45.260 に答える
0

ここでの他の回答への追加として、ASP.NET Razor ビュー構文で Kendo UI を使用していて、フォーマット文字列を入力タグ自体から渡す必要がある場合は、それを追加したいと思います。 Kendo UI の書式文字列を文字列リテラルに変換する必要があります。そうしないと、JavaScript がエスケープ文字をエスケープしてしまいます。たとえば、私が現在取り組んでいるアプリケーションには、HTML ヘルパーが Kendo NumericTextBox を作成するために使用するフォーマット用のカスタム データ フィールドがあります。

例:

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

フォーマットを正しくレンダリングできません。2 つのバックスラッシュが 1 つのバックスラッシュにエスケープされるため、出力は 1200\% のようになり、フィールドはフィールドの値に 100 を掛けるデフォルトの剣道パーセンテージ動作を維持します。

でも、

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

数値を正しくフォーマットし、デフォルトの剣道パーセンテージの動作をオーバーライドします。文字列リテラルでは、円記号が 1 つだけ使用されていることに注意してください。

これはややニッチで微妙な問題ですが、Kendo UI と ASP.NET MVC を統合しようとしているときに、少し不満がありました。

于 2014-05-14T16:56:25.813 に答える