javascript的html输出错误

javascript的html输出错误,javascript,jquery,html,Javascript,Jquery,Html,我写了一个脚本,用一堆选项填充一个选择框 最初,数据采用字符串形式,格式为“key=value;key2=value2;etc.”: //拆分字符串以区分用于填充选择框的不同选项 var值=data.split(“;”); //重置要填充的选择框的长度 document.getElementById(子).options.length=0; //创建第一个默认选项 document.getElementById(child.options[0]=新选项('all','0'); 对于(变量i=0;

我写了一个脚本,用一堆选项填充一个选择框

最初,
数据
采用字符串形式,格式为“key=value;key2=value2;etc.”:

//拆分字符串以区分用于填充选择框的不同选项
var值=data.split(“;”);
//重置要填充的选择框的长度
document.getElementById(子).options.length=0;
//创建第一个默认选项
document.getElementById(child.options[0]=新选项('all','0');
对于(变量i=0;i
上面的示例使用给定的html输出填充selectbox:

<option value="0">all</option>
<option value=" 
7">Bermuda</option>
<option value="10">British Virgin Islands</option>
<option value="15">Cayman Islands</option>
<option value="42">Jamaica</option>
<option value="74">St. Lucia</option>
<option value="79">Trinidad Tobago</option>
全部
百慕大群岛
英属维尔京群岛
开曼群岛
牙买加
圣卢西亚
特立尼多巴哥
如上所述,您可以注意到,selectbox中的第二个选项的字符串值已损坏。我需要修正这个值,因为蛋糕不能正确保存这个值


如果您有任何其他问题,请询问。

您应该尝试调整值:

document.getElementById(child).options[i+1] = new Option(
   options[1].replace(/^\s+|\s+$/g, ''), 
   options[0].replace(/^\s+|\s+$/g, '')
);
或者,如果您正在使用jquery:

document.getElementById(child).options[i+1] = new Option(
   $.trim(options[1]), 
   $.trim(options[0])
);
此外,您还应仔细查看此片段:

values[i].replace(/\s+/g, '');
因为它可能做不到你想要的。首先,它删除字符串中的所有空格,这样“纽约市”将变成“纽约市”。接下来的事情是
replace
方法返回新字符串,这样代码就不会生效。应该是:

values[i] = values[i].replace(/\s+/g, '');

为什么它被腐蚀了?这不是百慕大的值吗?@neo:行断了(
\n
values[i] = values[i].replace(/\s+/g, '');