2013-04-25 83 views
0

我有幾個文本文件,這樣的內容是這樣的:jQuery的 - 如何閱讀txt文件,並追加到形式

<select name='CitySearch' id='CitySearch'> 
    <option value=''>- Select a City -</option> 
    <option value=''>-----------</option> 
    <option value='Bejuco'>Bejuco</option> 
    <option value='Esterillos'>Esterillos</option> 
</select> 

當然每個人都是不同的內容。不管關於文件名,我們可以使用example.txt

我有一張地圖,如果你點擊任何區域,腳本必須在窗體內附加txt。這是你點擊時的功能:

// Assigning an action to the click event 
$(this).click(function(e) { 
    var country_id = $(this).attr('id').replace('area_', ''); 

    if($("div[id^='area_']").length = 1){ 
     $("div[id^='area_']").remove(); //remove the last inserted select option 
     } 
var append_data = '<div id="area_'+country_id+'">**INSERT HTML FROM FILE HERE**</div>'; 
$("#text_boxes").append(append_data); //append new select options in main div 
    }); 

我知道這是basicall的東西,但我沒有太多的經驗與jQuery。

回答

1

您可以使用.load()來獲取文件的內容並將其插入到匹配的元素中。

var append_data = '<div id="area_'+country_id+'"></div>'; 
$("#text_boxes").append(append_data); //append new select options in main div 

$("#area_"+country_id).load("path/to/file.html"); // load html file 
+0

哇,真的有效!謝謝 – user2321336 2013-04-25 20:12:44

0

對文件url進行ajax調用,並將響應追加到字符串。

$(this).click(function(e) { 
     var country_id = $(this).attr('id').replace('area_', ''); 

     if($("div[id^='area_']").length = 1){ 
      $("div[id^='area_']").remove(); //remove the last inserted select option 
      } 
      appendNewResult(country_id); 
     }); 
function appendNewResult(country_id){ 
     $.get(filepath,function(response){ 
         var append_data = '<div id="area_'+country_id+'">' + response +'</div>'; 
    $("#text_boxes").append(append_data); //append new select options in main div 

     }); 
} 
+0

這使用'。.get()'與我的'.load()'答案完全相同,但是有幾行代碼。值得注意的是,這種方法可以讓你在完整的處理程序中做更多的事情。兩者都適用於您的要求。 – jrummell 2013-04-25 20:19:04

+0

@jrummell,op是添加額外的html代碼,爲什麼我使用得到。 – Anoop 2013-04-25 21:13:12