2014-08-27 87 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