从带有空格的数组加载选择列表

时间:2013-10-17 13:33:54

标签: javascript jquery html

我正在尝试在文本文件中读取其中的选项列表。该文件包含以下条目:

"11-11 ALL DAYS           "  
"24 HRS                   "  
"4-11 ALL DAYS            "  
"4-11 M-F 6-11 SA-SU      "  
"4-11:15 M-F 6-11:15 SA-SU"  

正如你所看到的,我必须处理引号和大量空格。我下面的代码读入数组并将提醒值正常。当它附加我创建的选项时,最终会为每个角色提供一个选项。我不确定发生了什么,因为这是我第一次做这样的事情。任何想法都赞赏

        var data = [];
        var option = '';

        $.get('Hours_Strings.txt', function (data) {
            alert(data);

            for (i = 0; i < data.length; i++) {
                option += '<option value="' + data[i] + '">' + data[i] + '</option>';
            };
            $('#iSelectHours').append(option);


        }, 'text');        
    }

3 个答案:

答案 0 :(得分:3)

如果每个选项都在文本文件的新行中,您可以执行以下操作:

var lines = data.split('\n');
for(var i = 0;i < lines.length;i++){
    //code here using lines[i] which will give you each line
   //You can remove the quotes in here as well or keep them if you need them.
}

答案 1 :(得分:0)

嗯,来自请求的data必须由换行符\n

拆分
$(function(){
   var data=[], dataOpt = [], option = '';
   data.push("\"11-11 ALL DAYS\"");
    data.push("\"24 HRS\"");

   $.get('Hours_Strings.txt', function (data) {
        console.log(data.split('\n')); //split here by newline
       dataOpt = data.split('\n');

            for (i = 0; i < dataOpt.length; i++) {
                option += '<option value="' + dataOpt[i] + '">' + dataOpt[i] + '</option>';
            };
            $('#iSelectHours').append(option);


        }, 'text'); 
});

我为你创建了一个jsfiddle

答案 2 :(得分:0)

            var allData = [];
            var option = '';

            $.get('Hours_Strings.txt', function(allData) {
                var dataLines = allData.split("\n");
                for (i = 0; i < dataLines.length; i++) {
                    var dataLine = dataLines[i].replace(/\"/g,"");
                    option += '<option value="' + dataLine + '">' + dataLine + '</option>';
                }
                $('#iSelectHours').append(option);
            }, 'text');