我试图在ajax请求后动态生成表单。以下是相关的代码示例:
for (var i in response.responseJSON[0].fields) {
var field = response.responseJSON[0].fields[i];
$('#properties_form').append('<label for=' + i + '>' + i + '</label>' +
'<input id=' + i + ' value=' + field + '>');
}
我的问题是,当var i
和var field
是包含"Hello world"
空格的字符串时,我的标签和输入将类似于<label id="Hello" world="">
和<input value="Hello" world="">
。但是,标签文字将正确显示,即<label>Hello world</label>
。
我不知道那是什么样的巫术,但我会非常感激任何帮助。提前谢谢。
答案 0 :(得分:4)
使用const
括起属性。
::Int64
修改强>
对于"
的值类似$('#properties_form')
.append('<label for="' + i + '">' + i + '</label>' +
'<input id="' + i + '" value="' + field + '">');
的情况,这会中断。最好的解决方案是添加为jQuery或JS对象,而不是像Daniel的回答一样使用HTML字符串。
以下代码段包含正确的解决方法。根据Daniel的回答更新。
i
&#13;
This "works"
&#13;