我将jQuery ajax响应附加到php表单选择框中。
<select name="adSizeFractional" id="fractionalads-list" >
<option value="">---Select---</option>
</select>
jQuery Ajax响应:
var fractionalads = "<option value="+v.ad_size_fractional+">"+v.ad_size_fractional+"</option>";
$(fractionalads).appendTo('#fractionalads-list');
预期结果:
<select>
<option value="" selected="selected">---Select---</option>
<option value="2/3 Page">2/3 Page</option>
<option value="1/2 Page">1/2 Page</option>
<option value="1/3 Page">1/3 Page</option>
</select>
实际结果:(错误)
<select>
<option value="" selected="selected">---Select---</option>
<option value="2/3" page="">2/3 Page</option>
<option value="1/2" page="">1/2 Page</option>
<option value="1/3" page="">1/3 Page</option>
</select>
为什么我在表单输出中收到不需要的参数??
答案 0 :(得分:2)
您的value属性未引用,对于未引用的属性,空格将终止它,因此引用您的属性
var fractionalads = "<option value=\""+v.ad_size_fractional+"\">"+v.ad_size_fractional+"</option>";
您还应该对其进行html编码
var fractionalads = "<option value=\""+htmlspecialchars(v.ad_size_fractional)+"\">"+htmlspecialchars(v.ad_size_fractional)+"</option>";
答案 1 :(得分:1)
在值属性
周围加上引号var fractionalads = "<option value='"+v.ad_size_fractional+"'>"+v.ad_size_fractional+"</option>";
$(fractionalads).appendTo('#fractionalads-list');