2014-08-27 164 views
1

我有這樣的代碼:jQuery的填充下拉列表

$(document).ready(function() { 
      var mddlrole = $('<%=ddlrole.ClientID %>'); 

      $.ajax({ 
       type: "POST", 
       url: "ReportBasic.aspx/getroledata", 
       data: '{}', 
       contentType: "application/json;", 
       dataType: "json", 
       success: function(response) { 
        debugger; 
        alert(response.d); 
        $(response.d.toString()).find('Table').each(function() { 
         var OptionValue = $(this).find('RoleID').text(); 
         var OptionText = $(this).find('Name').text(); 
         alert(OptionValue); 
         var option = $("<option>" + OptionText + "</option>"); 
         option.attr("value", OptionValue);  
         mddlrole.append(option); 
        }); 
       } 

      }); 
     }); 

response.d 當我提醒response.d我檢查,如果數據被成功地從服務器來了,但是當我提醒OptionValue它是未來爲空白。

+3

顯示你在'response.d'得到並學習使用'console.log()' – Satpal 2014-08-27 12:59:48

+1

請不要使用alert()作爲故障排除設備,請改用console.log()。 http://stravid.com/en/stop-the-javascript-alert-madness/ – 2014-08-27 13:00:16

+0

我附上response.d image.please檢查 – 2014-08-27 13:04:25

回答

1

您是XML,所以你應該從你的AJAX調用改變contentType爲「text/xml的」,更改XML managament回調,這樣的事情

xmlDoc = $.parseXML(response.d.toString()), 
$xml = $(xmlDoc) 
$xml.find('Table').each(function() { 
       var OptionValue = $(this).find('RoleID').text(); 
       var OptionText = $(this).find('Name').text(); 
       var option = new Option(OptionText,OptionValue); 
       $(option).html(OptionText); 
       mddlrole.append(option); 

      }); 
+0

謝謝我得到的警報結果,但當我綁定它在下拉列表中顯示空白值。請幫忙。 – 2014-08-27 13:20:46

+0

試試我最後的編輯 – xecgr 2014-08-27 13:29:11

+0

對不起,但它不工作。 – 2014-08-27 13:37:18