如何将csv转换为选择选项

时间:2014-05-26 15:01:51

标签: javascript

使用JavaScript如何转换字符串包含CSV值,如

1;option 1;2;Option 2;3;Option 3

<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>

1 个答案:

答案 0 :(得分:0)

我注意到的第一件事是它在一行中。如果源是这样的话会更好:

1;Option 1
2;Option 2
3;Option 3

完成此操作后,您需要通过阅读文件或使用textarea或类似内容从用户输入获取文件来获取它。

您可以这样解析内容:

function parseIt()
{
    splitValues = document.getElementById("input").value.split("\n");
    if (splitValues.length > 0)
    {
        document.getElementById("vals").style.display = 'inline';
        console.log(splitValues);
        for (i = 0; i < splitValues.length; i++)
            document.getElementById("vals").innerHTML += '<option value="' + splitValues[i].split(";")[0] + '">' + splitValues[i].split(";")[1] + '</option>';
    }
}

小提琴:http://jsfiddle.net/praveenscience/ZbJps/


如果您在一行中输入如下:

然后这个函数会这样做:

function parseIt()
{
    splitValues = document.getElementById("input").value.split(";");
    if (splitValues.length > 0 && splitValues.length % 2 == 0)
    {
        document.getElementById("vals").style.display = 'inline';
        document.getElementById("vals").innerHTML = "";
        for (i = 0; i < splitValues.length; i+=2)
            document.getElementById("vals").innerHTML += '<option value="' + splitValues[i] + '">' + splitValues[i+1] + '</option>';
    }
}

小提琴:http://jsfiddle.net/praveenscience/ZbJps/2/