2013-08-24 42 views
0

我有一個窗體,列出了打開基本文件,即一堆鏈接。 pdf,docs等。在右側這些鏈接我有一個href鏈接來打開一個jQuery對話框,其中包含每個特定鏈接的詳細信息,例如鏈接的名稱,上傳新更新文檔的選項等。現在也可以在此對話框中我希望能夠有一個下拉列表,其中包含一個排序順序,這將是一個數字列表1,2,3,4,5等等,因此用戶可以重新排序他們的鏈接。什麼是填充表單文本框,下拉列表(最重要)和數據庫中所需數據的最佳方式,然後打開jquery對話框。我目前正在使用jquery ajax和webservice來填充文本框,但下拉列表在瀏覽器呈現後會變得充滿。當用戶點擊位於每個鏈接右側的href標籤時,我使用jquery按鈕單擊事件執行ajax調用。這不允許我抓取保存按鈕單擊事件回發上的selectedvalue獲取更新的值和更新記錄。任何幫助將不勝感激。我怎樣才能打開一個jQuery對話框填充下拉列表

function LoadDocumentSort(id, selectedSort) { 
$.ajax({ 
    type: 'POST', 
    url: baseUrl + 'webservices.asmx/GetSortCount', 
    data: JSON.stringify({ articleID: articleid }), 
    contentType: "application/json; charset=utf-8", 
    dataType: 'json', 

    success: function (data) { 

     if (data.d != '') { 

      $("#UIEditSort").empty(); 
      var sortCount = data.d; 

      var listItems; 
      listItems = "<option value=''></option>"; 
      for (var i = 1; i < sortCount + 1; i++) { 


       if (selectedSort == i) { 
        listItems += "<option selected='true' value='" + i + "'>" + i + "</option>"; 
        //$("#UIEditSort").append($("<option selected='true'><option />").val(i).text(i)); 
       } 
       else { 
        //$("#UIEditSort").append($("<option><option />").val(i).text(i)); 
        listItems += "<option value='" + i + "'>" + i + "</option>"; 
       } 
      }; 

      $("#UIEditSort").html(listItems); 
     } 
    }, 
    error: function (xhr, ajaxOptions, thrownError) { 
     alert('error'); 
    } 
}); 
+0

哇....放緩。段落很好,代碼更好。描述你目前遇到的具體問題以及你迄今爲止所嘗試的內容。 – Jamiec

+0

感謝您的快速響應。我的問題是我需要得到一個dropdwon列表之前打開jQuery對話框加載。即時通訊使用jquery按鈕單擊事件做出ajax調用來填充文本框,並且在我的對話框打開時工作正常。在這個Ajax調用的成功,我調用這個函數來嘗試和加載下拉列表: – ches185

+0

我可以做的一個建議是打開對話框消息加載....並隱藏包含文本框和下拉的div,並調用AJAX調用文本框以及調用下拉菜單的成功。只有在下拉ajax調用成功之後,才能顯示文本框的內容並下拉。 – Devesh

回答

0

以下解決方案使看起來像這樣的僞代碼

 $('#link').on("click",function(event){ 
     $("#loadingDiv").html('Loading ....').show(); 
     $("#containerOfControls").hide(); 
     $("#dialogId").dialog('open'); 
    //Now make the first ajax call 
    $.ajax({ 
    URL: '', 
    success : function(result){ 
       //Populate the textbox and make another ajax call 
        $.ajax({ 
        URL : '', 
        success : function(result){ 
           //Populate the dropdown 
            $("#loadingDiv").hide(); 
            $("#containerOfControls").show(); 

           } 
         }}}}); 
相關問題