0

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

"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');        
    }
4

3 回答 3

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.
}
于 2013-10-17T13:42:36.827 回答
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');
于 2013-10-17T14:15:03.283 回答
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

于 2013-10-17T13:46:11.037 回答