我用jQuery我的变量动态创建了一个表(在java数组中是从php数组中json_encodod)。之后,我的变量与所有重音角色完美。到目前为止,一切都很好。但是,一旦我将它们放在表中,结果就不好了。
这是代码:
<script>
for (var j = 0; j < 13; j++) {
// labels
if (j==0) {
var tab_B = tab_B + "<tr><th>" + label_array2[j] + "</th><th>" +
label_array2[j+1] + "</th><th>" + label_array2[j+2] + "</th></tr>";
}
// inputs
if ((j>0) && (j<13)) {
var tab_B = tab_B + "<tr><td><input type='text' name='" + input_array2[(j*3)] +
"' maxlength='33' size='33' value='" + label_array2[(j*3)] + "'/></td><td><input type='text' name='" +
input_array2[(j*3)+1] + "' maxlength='5' size='5' value='" + label_array2[(j*3)+1] +
"'/></td><td><input type='text' name='" + input_array2[(j*3)+2] +
"' maxlength='6' size='6' value='" + label_array2[(j*3)+2] + "'/></td></tr>";
}
}
$("#recipetable").html(tab_B);
</script>
然后我像这样显示表:
<table class="reference" border="1" cellpadding="0" width="100%" id="recipetable"></table>
有些文本被截断:
示例:
之前:痛苦d'épices
之后:疼痛D
我想念什么吗?
截断来自不保护您的报价。这是一件简单的事情。现在,至于口音,您必须知道JSON需要UTF8编码。如果这没有回答问题,请为我们做一个小提琴。
是的,您需要逃脱字符串,以避免使用JavaScript的报价。
您错过了这样的逃生报价,
<input type='text' value='Pain d'épices' maxlength="6" size="6" />
演示链接http://jsfiddle.net/bb4ka/