boostrap-select 用js获取后台数据显示空(实际上数据传)

来源:互联网 发布:淘宝消费者服务电话 编辑:程序博客网 时间:2024/05/16 18:29
问题描述:用js获取后台数据,bootstrap-select 显示不出数据(实际上普通的select是用的)。
原因缺少:$('.selectpicker').selectpicker('val', ''); $('.selectpicker').selectpicker('refresh'); 获取后需要重新刷新。

代码块:

var req;function Change_Select() {// 当第一个下拉框的选项发生改变时调用该函数var linkman = document.getElementById("linkman").value;var url = "SystemManage/user/company.jsp?linkman=" + encodeURIComponent(linkman);if (window.XMLHttpRequest) {req = new XMLHttpRequest();} else if (window.ActiveXObject) {req = new ActiveXObject("Microsoft.XMLHTTP");}if (req) {req.open("POST", url, true);// 指定回调函数为callbackreq.onreadystatechange = callback;req.send(null);}}// 回调函数function callback() {if (req.readyState == 4) {if (req.status == 200) {parseMessage();// 解析XML文档} else {alert("不能得到描述信息:" + req.statusText + " " + req.status);}}}// 解析返回xml的方法function parseMessage() {var xmlDoc = req.responseXML.documentElement;//获得返回的XML文档        var xSel = xmlDoc.getElementsByTagName('select');var select_root = document.getElementById('company'); // 获得网页中的第二个下拉框select_root.options.length = 0; // 每次获得新的数据的时候先把每二个下拉框架的长度清0if(selectingw==1){select_root.add(new Option(companystr,companystr));}else{for ( var i = 0; i < xSel.length; i++) {    var xValue = xSel[i].childNodes[0].firstChild.nodeValue;        //获得每个<select>标记中的第一个标记的值,也就是<value>标记的值        var xText = xSel[i].childNodes[1].firstChild.nodeValue;        //获得每个<select>标记中的第二个标记的值,也就是<text>标记的值    var option = new Option(xText, xValue);    // 根据每组value和text标记的值创建一个option对象    try {        select_root.add(option);// 将option对象添加到第二个下拉框中    } catch (e) {    }        }        }        selectingw=0;        $('.selectpicker').selectpicker('val', '');$('.selectpicker').selectpicker('refresh');}

不加这个时,联系人选择完后,客户公司是空的

在js遍历完后台要显示的数据后,加上

$('.selectpicker').selectpicker('val''');
$('.selectpicker').selectpicker('refresh');

这两行代码。问题解决,客户select选择框正常显示。