Kullanıcı verileriyle dolu bir dizi alıyorum. ul
'da gösterilmeleri gerekir. Alanlardan biri, her kullanıcı için bu <span class="red-text">[Admin]</span>
gibi bir html kodu olarak önektir. Ancak li öğesini eklemeyi denediğimde, yayının kırmızı versiyonu yerine html kodunu oluşturur.Json'dan Kısa HTML Kodu, işlenen sürüm yerine HTML kodunu görüntüleyecektir
Benim json kodu:
{
"users":[
{
"id":"1",
"usrname":"YannickFelix",
"email":"[email protected]",
"lvl":"4",
"prefix":"<span class=\"red-text\">[Admin]<\/span>"
}
]
}
Ve javascript:
listElemTmplt = `
<li class="collection-item avatar">
<i class="material-icons circle {"{{color}}"}">person</i>
<span class="title">{"{{usrname}}"}</span>
<p>{"{{prefix}}"} {"{{usrname}}"} | {"{{email}}"}
</p>
<span class="secondary-content">
<a class="waves-effect waves-circle" href="users.php?action=edit&uID={"{{id}}"}">
<i class="material-icons grey-text text-darken-1">create</i>
</a>
<a class="waves-effect waves-circle waves-red modal-trigger" href="#modal{"{{id}}"}">
<i class="material-icons grey-text text-darken-1">delete</i>
</a>
</span>
<div id="modal{"{{id}}"}" class="modal">
<div class="modal-content black-text">
<h4>Löschen</h4>
<p>Möchtest Du den Benutzer "{"{{usrname}}"}" wirklich löschen?</p>
</div>
<div class="modal-footer">
<a href="#!" class=" modal-action modal-close waves-effect waves-red btn-flat">Abbrechen</a>
<a href="users.php?action=del&vID={"{{id}}"}" class="modal-action modal-close waves-effect waves-green btn-flat red-text">Löschen</a>
</div>
</div>
</li>
`;
template = Handlebars.compile(listElemTmplt);
finishedString = [];
$.getJSON("**url**", function (data) {
console.log(data);
$("ul#users").html("");
data["users"].forEach(function (element, index, array) {
html = template({"{"}id: element["id"], usrname: element["usrname"], email: element["email"], prefix: element["prefix"]{"}"});
$("ul#users").append(html);
});
});
Listesi'nde örnek öğe. [Yönetici] kırmızı ve html kodu
Ayrıca, gidon kullanmıyordunuz, jQuery [parseHTML()] (https://api.jquery.com/jquery.parsehtml/) kullanabilirsiniz. –