【问题标题】:How to use currency variables like INR in javascript?如何在javascript中使用像INR这样的货币变量?
【发布时间】:2017-05-24 03:03:55
【问题描述】:

我有一个使用 MVC 架构的应用程序,实体的价格以 INR 货币的 HTML 格式的字符串返回,因为 INR 的货币符号不在 ASCII 字符集中。 我必须在 javascript 中使用这个收到的价格,如下所述

var someVariableWhichIWantNotToBeInHTML = "${viewModel.price}"

转换成

var someVariableWhichIWantNotToBeInHTML = "<span class = "currencyINR"></span>1.00"

但它会导致语法错误,因为 " 没有在结束 span 标记中关闭。

您能否建议我如何在 JS 中使用来自视图模型的 HTML 变量?

【问题讨论】:

  • 主要问题是这个价格是使用外部 API 在视图模型中填充的。我无法更改他们发送字符串的格式。无论如何可以从这些字符串中读取价格。即使我编写了一个自定义函数,它将删除字符串的所有 HTML 内容并只保留价格,它仍然会导致语法错误。
  • 坦率地说,我看不出有什么问题。您只需要定义特定的 CSS 类。您无法在页面上编辑 CSS?
  • JS 中没有所谓的格式化货币变量。
  • 格式化为货币符号将出现在字符串中。[用澄清更新问题]

标签: javascript html jsp spring-mvc model-view-controller


【解决方案1】:

假设您可以修改${viewModel.price} 的值。你有两个选择:

选项 1

像这样转义双引号:

  "<span class =\"currencyINR\"></span>1.00"

选项 2

将货币 INR 包含在单个 qoutes 中:

"<span class = 'currencyINR'></span>1.00"

通常 API 应该处理这个问题,但由于它不遵循应该做的伎俩:

var someVariableWhichIWantNotToBeInHTML = '${viewModel.price}'

通过这个你会得到没有错误的字符串,然后你可以通过自定义函数提取价格并使用 CSS 显示 INR 符号。

【讨论】:

  • 我想在答案中澄清一下。“${viewModel.price}”和“${viewModel.price}”有何不同(一个是单引号,另一个是双引号)跨度>
  • 如果是单引号,Js Interpreter 不会混淆,因为它可以在一对单引号中找到一对双引号,但在双引号的情况下,它会混淆。由于无法确定匹配的双引号
  • 谢谢,看起来很老套,但满足我的用例。
  • 这是一种 hacky 方式,理想情况下 API 应该处理这个问题。此外,API 应该只返回价格,我不明白为什么它返回 HTML
  • 如果对您有帮助,请采纳答案?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-14
  • 2013-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-19
  • 2019-05-08
相关资源
最近更新 更多