2011-05-19 24 views
0
頁面

我想有一個頁面,將包含: hyperlik「添加新的國家」。 用戶點擊此鏈接後,應出現帶有國家名稱的下拉列表。然而,這個超鏈接應該留在這個頁面上。當用戶再次單擊此超鏈接時,應出現名稱完全相同的第二個下拉列表。只要用戶點擊超鏈接,這應該重複。 重要的是不要重新加載此頁面。 有沒有人有任何想法如何製作?在添加新的ASP下拉列表中無需重新加載

+0

請出示到目前爲止你做了什麼。顯然,這可以完成,但我想看看你是如何進步的。 – hunter 2011-05-19 17:01:50

+0

很難說我做了什麼。我想要使​​用javascript + DOM像:function AddPlaceFrom(){ var d = document.getElementById(「parentFromPlace」); d.innerHTML + =「lala」; d.innerHTML + =「
」; },但是「lala」應該是dropdownlist的代碼。但這並不容易。我必須用C#代碼中的數據填充下拉列表,我不知道。也許我應該用Ajax填充這些數據? – ravenik 2011-05-19 17:06:07

+0

我覺得@hunter正打算給你這個'code'添加到原來的職位... – pixelbobby 2011-05-19 17:07:51

回答

1

典型的方式實現這一目標是讓你出添加新的國家的鏈接觸發一個AJAX調用您創建將爲您的列表提供數據的頁面。

的首選方法,這些天似乎具有頁面調用建立一個JSON響應,則回調你在哪裏把它稱爲可以填充數據到一個下拉的AJAX方法。

你從AJAX調用頁面可能是簡單的東西是這樣的:您的主頁上

protected override void Render(HtmlTextWriter writer) 
{ 
    Dictionary<string, int> myStuff = new Dictionary<string, int>(); 
    myStuff.Add("country1", 1); 
    myStuff.Add("country1", 2); 

    JavaScriptSerializer jss = new JavaScriptSerializer(); 
    Response.Write(jss.Serialize(myStuff.ToList())); 
    Response.ContentType = "application/json"; 
} 

使用此jQuery的:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#btn").click(function() { 
      getCountries(); 
     }); 
    }); 
    function getCountries() { 
     $.ajax({ 
      url: "ApiPage.aspx", 
      dataType: "json", 
      success: function (data) { 
       for (var i in data) { 
        $("#myDropDown").append($('<option></option>').val(data[i].Value).html(data[i].Key)); 
       } 
      } 

     }); 
    } 
</script> 

測試和工作。 (在一個簡化的例子中),我必須從字典轉換爲json序列化程序的列表,使其成爲一個數組。查看更新的序列化調用。還有一些驗證,例如ajax調用是否返回真實數據?,這需要添加到實際生活實現中。

0

它看起來像你正在做它至少近似正確的。

如果您有圍繞着你想要的下拉框,然後是簡單的地區的一些標籤的HTML。在HTML

:在JavaScript

<a href="javascript:addDD()">Add new country</a> 

<div id="dropdownarea"></div> 

例如

function addDD(){ 
document.dropdownarea.innerHTML += "HTML code for the drop down that you want"; 
} 
+0

我想'document.dropdownarea'等同於'的document.getElementById(「dropdownarea」)' – Jonathon 2011-05-19 17:27:43

+0

是,但他的問題是如何該HTML來填充元素。他需要一些服務器端。 – ashelvey 2011-05-19 17:27:58

相關問題