我想将HTML实体作为值呈现到输入字段中,例如平方米。
出于简单的演示目的,我已经尝试了一个表示输入字段的视图,但标准输入助手具有相同的行为。初始渲染工作正常,但如果更新了绑定值,则会突然转义上标值。因此m²更改为& sup3; ,它应该m³。
您可以在此处查看代码:
http://emberjs.jsbin.com/vifup/3/edit
我觉得很奇怪init中的set调用工作正常,但点击更新不起作用。
这是一个错误,是否有任何解决方法?
答案 0 :(得分:0)
我自己找到了答案。我认为通过jQuery设置值时会出现问题。在使用$ .val()设置它们之前,jQuery似乎逃脱了HTML-Entities。 Ember似乎在后台使用$ .val()。
我发现的简单但不太好的解决方案在这里解释: http://www.objectpartners.com/2012/07/10/dynamic-html-entities-in-form-inputs/
简而言之,将包含HTML-Entities的新值设置为临时DOM节点为html,并使用$ .html()再次检索此html。然后使用$ .val()
将其设置为输入var new_value = $('<div></div>').html('m²').html();
$('input').val(new_value);