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>