ajax加载数据后,bootstrap-select下拉无反应


js代码:
<script type="text/javascript" src="${ctx }/js/jquery.js"></script>
<link href="${ctx }/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="${ctx }/js/bootstrap.min.js"></script>
<!-- bootstrap-select下拉列表 -->
<link href="${ctx }/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet" type="text/css" />
<script src="${ctx }/bootstrap-select/js/bootstrap-select.min.js"></script>

ajax代码:

$.ajax({
	type : "post",
	url : "${ctx}/frontPage/ajaxLoadTreatment.action",
	dataType : "json",//指定返回的数据  json格式字符窜
	success : function(msg) {
	    var treatment = msg.treatment;
	    $.each(treatment,function(){
	    $("#select").append("<option value='"+this.treat_Id+"'>"+this.name+"</option>");
	    });
	},
	error : function() {
	    $.message({message : "数据加载异常!", type : "error"});
	}
});

html代码:

<select id="select" name="expert.treat.treat_Id"  class="selectpicker">

问题:在引入相关css和js后,ajax加载数据后,点击select无反应

解决办法:

在ajax中添加代码:

$("#select").selectpicker("refresh");  
$("#select").selectpicker("render");  
$.ajax({
	type : "post",
	url : "${ctx}/frontPage/ajaxLoadTreatment.action",
	dataType : "json",//指定返回的数据  json格式字符窜
	success : function(msg) {
	    var treatment = msg.treatment;
	    $.each(treatment,function(){
	        $("#select").append("<option value='"+this.treat_Id+"'>"+this.name+
                "</option>");
	    });
	    
	// 缺一不可  
	    $("#select").selectpicker("refresh");  
	    $("#select").selectpicker("render");  
	},
	error : function() {
	    $.message({message : "数据加载异常!", type : "error"});
	}
});

原因:js和css加载完后才再加载ajax,此时会导致select中无数据,所以在ajax加载数据之后刷新样式。

另外的错误:可能是css冲突。

或漏加东西:

<script type="text/javascript" src="${ctx }/js/bootstrap.min.js"></script>

猜你喜欢

转载自blog.csdn.net/sinat_36707441/article/details/79397895