表单output-jQuery / php中不需要的属性

时间:2016-04-21 14:09:14

标签: javascript php jquery ajax

我将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>

为什么我在表单输出中收到不需要的参数??

2 个答案:

答案 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');