我正在使用JQuery的html()函数在一组选项下拉列表中动态编码JSON值。我的大多数网站都按预期完美运行:
$('#parameters').html('<option value={"name":"testsalary"}></option>');
<div id="parameters"><option value="{"name":"testsalary"}></option></div>
但是如果JSON对象有空格,则通过添加原先不存在的双引号来中断:
$('#parameters').html('<option value={"name":"test salary"}></option>');
<div id="parameters"><option value="{"name":"test" salary"}></option></div>
有没有人知道解决这个问题?
答案 0 :(得分:1)
您需要在价值附近添加引号
$('#parameters').html('<option value=\'{"name":"test salary"}\'></option>');
这会让你
<div id="parameters"><option value='{"name":"test salary"}'></option></div>
答案 1 :(得分:0)
作为一种解决方法,我决定将空格编码为&amp; nbsp,并在接收后将其转换为后端。
因此...
$('#parameters').html('<option value={"name":"test salary"}></option>');
变为
$('#parameters').html('<option value={"name":"test salary"}></option>');
不幸的是它没有对value参数中的空格进行编码。