在for循环中使用CoffeeScript字符串插值

时间:2013-03-12 14:37:43

标签: coffeescript

我正在使用基于一大堆JSON数据的<select>元素填充html <option>列表。我想通过使用字符串插值来整理我的代码,但我无法正确地替换值。

这是有效的代码(无插值):

$list
.empty()
.append('<option value="' + item.Id + '">' + item.Name + '</option>' for item in data)

以下是我想做的事情(不起作用):

$list
.empty()
.append('<option value="#{item.Id}">#{item.Name}</option>' for item in data)

以下是我正在使用的JSON示例:

[
  {"Id":"1","Name":"Client-1"},
  {"Id":"2","Name":"Client-2"}
]

替换不会发生,而是我只是得到一个填充正确数量的#{item.Name}字符串的列表。

是否可以在for循环中使用CoffeeScript字符串插值?

感谢。

1 个答案:

答案 0 :(得分:7)

字符串插值仅适用于双引号字符串,而不适用于撇号引用的字符串。

http://coffeescript.org/#strings

这应该有效:

$list
.empty()
.append("<option value=\"#{item.Id}\">#{item.Name}</option>" for item in data)