1.与普通select有区别的是另一种带分组的select

2.带分组的select见另一篇:使用ajax填充下拉框--分组select

3.两者均使用ajax填充,数据来源于后台大哥

效果如下图:

6ea6f8223c51ed6f2ccbd0a0cff5559a.png

html:

运营商

js:

callBack = function (data) {

var option, firstOption, select;

select = document.querySelector("#operatorId");

select.innerHTML = "";

firstOption = document.createElement("option");

firstOption.value = "";

firstOption.innerHTML = "-------请选择运营商-------";

select.appendChild(firstOption);

console.log(data.simOperators.length);

for (var i = 0; i < data.simOperators.length; i++) {

option = document.createElement("option");

option.value = data.simOperators[i].id;

option.innerText = data.simOperators[i].name;

select.appendChild(option);

}

};

$.get("YOUR-URL", new Params(), callBack, "json");

ps:附上传过来的数据格式,截图来自chrome的network:

f9a8e51c6c46e904b88679cf8ec9daae.png

2017.05.02更

最近又有用到用ajax填充select,摸索出了一种更好的写法:

var roleNameModal;

roleNameModal =document.getElementById("roleModal");

for (var i = 0; i < data.role.length; i++) {

var option = document.createElement('option');

roleNameModal.options.add(option);

option.text = data.role[i].roleName;

option.value = data.role[i].id;

$("#roleModal option[value='"+firstValue+"'] ").attr("selected",true);

}

$("#roleModal option[value='"+firstValue+"'] ").attr("selected",true); 这一句,等于是一个select的反显,firstValue是后台传过来的.

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐