-1

我需要你的帮助,

在将它们添加到我的选择框之前,我似乎无法去除数据字符串中的空格。

(顺便说一句,数据字符串之间的空格是故意的,因为我正在使用旧数据集并慢慢将其转换为非空格字符串)

你如何做到这一点?我认为我的逻辑没问题:

<!DOCTYPE html>

<html>

<head>

<script type="text/javascript">
function parseData() {

    var data = "1234567, 8910111, 9632587,6541237,9631478, 1010232"

    var options = data.split(",");

    var select = document.getElementById('list')
    select.innerHTML = ""

    for(var i=0; i<options.length; i++)
      select.options[i] = new Option(options[i], i);
}
</script>

</head>

<body>
<input type="button" value="load list" onclick="parseData()"/>
<br>
<select id="list"></select>
</body>

</html>
4

3 回答 3

1

您可以在填充选择器时修剪空格:

options[i].replace(/^\s+|\s+$/g, '')

jsfiddle 在这里

于 2013-08-14T19:21:17.137 回答
1

不需要正则表达式,使用Options[i].trim()(修剪删除字符串的两个站点上的任何空格(包括换行符、制表位和whatevs))

for(var i=0; i<options.length; i++)
  select.options[i] = new Option(options[i].trim(), i);
于 2013-08-14T19:16:43.693 回答
0

尝试这个:

<!DOCTYPE html>

<html>

<head>

<script type="text/javascript">
function parseData() {

    var data = "1234567, 8910111, 9632587,6541237,9631478, 1010232"

    var options = data.split(",");

    var select = document.getElementById('list')
    select.innerHTML = ""

    for(var i=0; i<options.length; i++)
      select.options[i] = new Option(options[i].replace(" ", ""), i); // cross browser
      // or this one
      //select.options[i] = new Option(options[i].trim(), i); // ie9+ and all other browsers
}
</script>

</head>

<body>
<input type="button" value="load list" onclick="parseData()"/>
<br>
<select id="list"></select>
</body>

</html>
于 2013-08-14T19:17:08.703 回答