本帖最后由 lvhongfen 于 2011-04-25 10:17:50 编辑

解决方案 »

  1.   

    你上面的方法没试不知行不行
    我这是可以的//动态获取
    function AjaxAssetsSecProperty(assetsTypeId){
    DWREngine.setAsync(false);//设置为同步调用
    ajaxGunDwrBean.gunAssetsSepList(assetsTypeId,
    function (data){
    clearSelectList();
    for(var i=0;i<data.length;i++){
    var op=document.getElementById("TAssetsSepId");
    var opt=data[i].split("|");
    op.options[op.options.length]=new Option(opt[1],opt[0]);
    }
    }
    );
    DWREngine.setAsync(true);//设置为异步调用
    }
    清空下拉框
    function clearSelectList() { 
        var models = document.getElementById("TAssetsSepId");
        while(models.childNodes.length > 0) {
            models.removeChild(models.childNodes[0]);
        }
        models.options[models.options.length]=new Option("----------","");
    }
      

  2.   

    filterId 这个可以打出来吗?你用firebug看看 是不是循环出来的都是空的!
      

  3.   

    Str是有值的
    alert(str);
    结果如下:
    <option value=\"0\">请选择</option><option value=\"2\">政治</option><option value=\"3\">科技</option>
      

  4.   

    Why not use append directly:
    $("#pid").append("<option value=\"0\">请选择</option>");
    for(……){
    $("#pid").append("<option value=\""+filterId+"\">"+filterName+"</option>");
    }
      

  5.   

    jquery没用过,不过对select是不能用js的innerHTML来设置选项的哟,它不支持innerHTML操作,必须用new Option
      

  6.   

    我知道不支持innerHTML这样写会报:对象不支持此属性或方法
    但用html(str)就没问题啊!在线等,拜托各位了!
      

  7.   


    http://www.electrictoolbox.com/jquery-add-option-select-jquery/你好好看看,append应该可以用的。
      

  8.   

    我按照4楼的做了,还是不行!其实我们两种做法都对,可就是不知道为什么不显示!我怀疑是不是跟我的$.ajax()有关
    可是我的都执行了啊,为什么就是不显示呢?
      

  9.   


    问题解决了,谢谢大家的参与还是我和$.ajax()放在一起造成的,我又单独发送一个请求就可以了!