从 HTML 下拉列表生成 csv 文件时删除空格

Gou*_*rty 5 html javascript csv whitespace drop-down-menu

我想要下载一个 csv 文件,其中单词之间保留空格。

超文本标记语言

<select id="ddl">
   <option value="1">One apple</option>
   <option value="2">Two Oranges</option>
   <option value="3">Three Grapes</option>
</select>
Run Code Online (Sandbox Code Playgroud)

脚本语言

var ddlArray= new Array();
var ddl = document.getElementById('ddl');

for (i = 0; i < ddl.options.length; i++) {
  ddlArray[i] = ddl .options[i].text;
}

var csvRows = [];
for (i = 0; i < ddlArray.length; i++) {
   csvRows.push(ddlArray[i]+",");
}
var csvString = csvRows.join("%0A");


var a = document.createElement('a');

a.href = 'data:attachment/csv,' + csvString;
a.target = '_blank';
a.download = 'sampleDownload.csv';

document.body.appendChild(a);
a.click();
Run Code Online (Sandbox Code Playgroud)

当我执行上面的代码时,正在下载一个sampleDownload.csv,但选项值正在被修剪,以便所有空白都丢失。例如“OneApple”而不是“One Apple”。是否可以保留 csv 文件中的空格?

如果我执行警报,该值确实包含空格。

请帮忙。

该代码片段也可以在 JSFiddle 中找到:点击此处: http: //jsfiddle.net/p25x8gfw/8/

这将在您的计算机上下载 samlDownload.csv。适用于 Chrome 和 Firefox。

fuy*_*oya 1

改成ddlArray[i] = ddl .options[i].text;ddlArray[i] = ddl .options[i].text.replace(' ', '%20');