将数据加载到多个文本文件的下拉列表中

时间:2016-03-14 15:20:08

标签: jquery file dropdown

我有一些文本文件,例如s1.text,s2.text,s3.text。它们包括以下信息。

s1.text:

<option value='val11'>text11</option>
<option value='val12'>text12</option>

s2.text:

<option value='val21'>text21</option>
<option value='val22'>text22</option>

s3.text:

<option value='val31'>text31</option>
<option value='val32'>text32</option>

如何将它们加载到我的crsdd下拉列表中?我可以按$('#crsdd').load("s1.txt");加载单个文件,但是当我有多个文件时,我无法处理它。

我想要以下的输出。

<select id='crsdd' name='crs'>
  <option value='val11'>text11</option>
  <option value='val12'>text12</option>
  <option value='val21'>text21</option>
  <option value='val22'>text22</option>
  <option value='val31'>text31</option>
  <option value='val32'>text32</option>
</select>

请参阅此处的示例。 Switching depending on Dropdown option

1 个答案:

答案 0 :(得分:1)

嗯,快速解决方案是同步加载文件,然后编写下拉选项。

E.g。

var array_of_files = ["s1.text","s2.text","s3.text"];//if you need these files dynamically , i.e. from lets say a set of other options, compose this dynamically

//when you need to load these files together -
var docLoader = function(index){
    $.get(array_of_files[index],function(data){//get data and append it to your select box
        $('#crsdd').append(data);
        if(index < array_of_files.length){
            docLoader(index+1);//Call itself with new index
        }
    });
}
docLoader(0);//call the loader with index 0

这应该有效!