本帖最后由 kpym002 于 2014-01-23 19:26:06 编辑

解决方案 »

  1.   

    用循环逐个加入
    var opt = new Option(mystr,mystr); 
    document.getElementById(id).options.add(opt);
    或者用.outerHTML = "<select>...</select>";
      

  2.   

    document.getElementById(id).innerHTML = myreturn;  
    // alert("当前innerHTML:"+document.getElementById(id).innerHTML); 
    //  document.getElementById(id).selectmenu('refresh'); 
    //下面这句是什么写法?有问题吧,没报错?    
    document.getElementById(id).html(optionList).selectmenu('refresh', true);改成下面这样试试:
    //document.getElementById(id).innerHTML = myreturn;//这句不要执行
    $('#'+id).html(optionList).selectmenu('refresh', true);
      

  3.   

    问题解决了,结贴了,用二楼的方法,下面给出解决的代码:function setdeptname(id){
    var myreturn=""; var obj=document.getElementById(id); $.getJSON("http://192.168.0.30:81/fkfs/jsons_a/json_showdept.php",   
    function(data) { 
    var myobj=eval(data); for(var i=0;i<myobj.length;i++){

    var mystr = myobj[i].dept;
    // myreturn =myreturn+"<option value='"+mystr+"'>"+mystr+"</option>";
         obj.options.add(new Option(mystr,mystr));
      
    }
              });  //getJSON end}
      

  4.   

    //这样不行么?
    $('#'+id).html(myreturn).selectmenu('refresh', true);