我选择了一个。我想在父母和孩子之间进行级联显示。一切都是动态的。 我想要点什么
Parent1
|---Child1
|---Child2
| |---Child21
| | |---Child211
| |---Child22
Parent2
... 我写这段代码:
$(function () {
GetlstParents();
$("#lstFiltreFamParent").selectmenu().selectmenu("menuWidget").addClass("lstFiltreoverflow");
});
function GetlstParents() {
$.ajax({
type: "POST",
url: "/Classement/Interne.aspx/GetlstParents",
data: '{"PageEnCours":"' + document.location.href.toString() + '"}',
contentType: 'application/json; charset=utf-8',
dataType: "json",
success: function (msg) {
if (msg.d.Retour.Reussi) { BuildLstParents(msg.d.LstParents); }
else { AfficheMsgRetour(msg.d.Retour); }
},
error: function () { AfficheMsgRetour({ Reussi: false, Titre: "Liste des classements parents", Msg: "Erreur accès fonction." }); }
});
}
function BuildLstParents(Lst) {
var LaList = $("#lstFiltreFamParent");
$('option', "#lstFiltreFamParent").remove();
//var Spacelst = "| ";
var Spacelst = "| ";
$.each(Lst, function (i, item) {
LaList.append($('<option>', { value: item.Id, text: Spacelst.repeat(item.Depth -1) +"|--- " + item.DisplayName }));
});
}
它运行完美,唯一的问题是白色空间小于字母。显示效果不是很好。 我选择了
答案 0 :(得分:0)
我改变了一点想法。最好让自定义列表在本地机器中,而不是由服务器 然后在jquery中,我创建了一个函数
function BuildLstParents(Lst) {
var LaList = $("#lstFiltreFamParent");
$('option', "#lstFiltreFamParent").remove();
var Spacelst = "| ";
$.each(Lst, function (i, item) { $('<option id="' + item.Id + '">' + (item.Depth==0?item.DisplayName.capitalize():Spacelst.repeat(item.Depth - 1) + "|--- " + item.DisplayName.capitalize()) + '</option>').appendTo(LaList); });
}