jquery ready 事件中,先加载select 然后设置第三个选项被选中,然后alert select的值是null,但我用onload 事件是好的怎么解决呀

解决方案 »

  1.   


    $(document).ready(function() {    //加载游戏类型列表
        GetUrgamerAuthGameType();    $("#Sel_AuthGameType").attr("value", 2);
        alert($("#Sel_AuthGameType").val());
    })
    //获取auth 所有的游戏类型
    function GetUrgamerAuthGameType() {
        $("#Sel_AuthGameType").empty();
        var AuthGameType = '';
        $.getJSON("../ashx/GetUrGamerGameType.ashx", function(json) {
            for (var i = 0; i < json.length; i++) {
                AuthGameType += '<option value="' + $.trim(json[i].gameType) + '">' + json[i].gameDesc + '</option>'
            }
            $(AuthGameType).appendTo("#Sel_AuthGameType");
        });
    }
      

  2.   

    要在ajax加载完成后再设置.$(document).ready(function() {  //加载游戏类型列表
      GetUrgamerAuthGameType();  
    })
    //获取auth 所有的游戏类型
    function GetUrgamerAuthGameType() {
      $("#Sel_AuthGameType").empty();
      var AuthGameType = '';
      $.getJSON("../ashx/GetUrGamerGameType.ashx", function(json) {
      for (var i = 0; i < json.length; i++) {
      AuthGameType += '<option value="' + $.trim(json[i].gameType) + '">' + json[i].gameDesc + '</option>'
      }
      $(AuthGameType).appendTo("#Sel_AuthGameType");
    $("#Sel_AuthGameType").attr("value", 2);
      alert($("#Sel_AuthGameType").val());
      });
    }
      

  3.   

    估计是在 IE6 下无效,你可以试试其它浏览器先!如果确定是IE6的问题,可以采用延时执行来解决,参考代码:
    setTimeout(function(){ //在这里写选中下拉框的代码 },1);
      

  4.   


    $("#Sel_AuthGameType").attr("value", 2);
      alert($("#Sel_AuthGameType").val());
      });改成$("#Sel_AuthGameType").children("option").eq(2).attr("selected",true)
      alert($("#Sel_AuthGameType").val());
      });试试
      

  5.   

    如果还不行 那你在ajax请求前加上一句$.ajaxSetup({async:false})//取消异步
      

  6.   

    $("#Sel_AuthGameType select").attr("value", 2);
      alert($("#Sel_AuthGameType").val());
      });试试
      

  7.   

    $(AuthGameType).appendTo("#Sel_AuthGameType");没加进去