日期:2014-05-17  浏览次数:20665 次

jquery级联菜单遇到的问题,有段代码看不懂,求助……
<script type="text/javascript">  
  $(function() {  
  $("#selPro").change(function() { //省份下拉菜单的change事件  
  //var params = 'str:"' + $(this).val() + '"'; //此处参数名要注意和后台方法参数名要一致  
var urld = "?m=task&c=TaskManage&a=showTemplate&str=" + $(this).val();
  $.ajax({  
  type: "POST", //提交方式  
  url: urld, //提交的页面/方法名  
  data: null, //参数(如果没有参数:null)  
  dataType: "text", //类型  
  contentType: "application/json; charset=utf-8",  
  beforeSend: function(XMLHttpRequest) {  
  $('#tipsDiv').text("正在查询...");  
  },
  success: function(msg) {  
  $('#tipsDiv').text("查询成功!");  
  $("#selCity option").each(function() {  
  $(this).remove(); //移除原有项  
  });  
  $("<option value='0'>请选择模板文件</option>").appendTo("#selCity"); //添加一个默认项  
  $(eval("(" + msg + ")").d).appendTo("#selCity"); //将返回来的项添加到下拉菜单中  
  },  
  error: function(xhr, msg, e) {  
  alert("error");  
  }  
  });  
  });  
  });  
  </script>  





不明白的地方:$(eval("(" + msg + ")").d).appendTo("#selCity"); //将返回来的项添加到下拉菜单中

$(eval("(" + msg + ")").d)这是什么意思???

------解决方案--------------------
msg转化为对象
------解决方案--------------------
dataType:json 就不用eval("(" + msg + ")")转换了