工作日志WebRoot-重新加载弹出框select内容无法显示

在多媒体终端列表栏目,重新加载弹出框时,供应商select内容无法显示。供应商函数如下:

function setSupplier(id,paramsor){
var type="supplier";
var params = {"token": getStorage("token"), "flag":1};
var fullurl=getOption("gykj_host")+type+"/list"+"?"+getOption("gykj_callbackparam")+"="+getOption("gykj_callbackfunc")+"&token="+getStorage("token");
$.ajax({
    url:fullurl,
    type:'get',
    dataType:"jsonp",
    jsonp:getOption("gykj_callbackparam"),
    jsonpCallback:getOption("gykj_callbackfunc"),
    async:false,
    error:function(){
        alert("列表:"+getOption("connectionErrorMessage"));
    },
    success:function(data){
    
        if(data.resultCode==getOption("resultcode_success")){                
                var html='<select class="chosen-select form-control"  id="s_id" data-placeholder="选择一个供应商...">';
                for(var item in data.data){    
                    //var machinegroup = {"mg_id": data.data[item].mg_id,"mg_name":data.data[item].mg_name,"description": data.data[item].description,"flag":1};
                    var supplier_str=JSON.stringify(data.data[item]);
                    html+="<option value='"+supplier_str+"'";
                    if(data.data[item].s_Id!=null&&paramsor['supplier']!=null&&data.data[item].s_Id==paramsor['supplier'].s_Id){
                        html+=" selected ";
                    }
                    html+=">"+data.data[item].s_name+"</option>";
                }                
                
                html+="</select>";
                
                $("#suppliers").html(html);                                                    
                $('#s_id').chosen({allow_single_deselect:true}); 
            
        }else{
            alert("错误代码"+data.errorCode+":"+data.message);
            //$("#machinegrouptype").html("");
        }
    }        
});    
        
}

解决:

1.把 $('#s_id').chosen({allow_single_deselect:true}); 这句代码去掉,就能正常显示。

2.查看有没有多余的<option value=""></option>空选择项。

原文地址:https://www.cnblogs.com/mailan/p/4788116.html