arbeitet Ich versuche, mit jquery Datenobjekt zu nennen. Ich habe Probleme, Daten damit anzuzeigen. Wie kann ich nur Ergebnis-Label und Kategorie anzeigen, wenn Anker geklickt hat.Anruf Objektwert mit jquery nicht
Auch Gibt es einen Vorschlag Click-Ereignis zu vereinfachen Objekt aufzurufen
danke
$(document).ready(function(){
var data = [
{
"id":1,
"label":"Sean",
"kategori":"Produk"
},
{
"id":2,
"label":"Howard",
"kategori":"Produk"
},
{
"id":3,
"label":"Paul",
"kategori":"Produk"
},
{
"id":4,
"label":"Eugene",
"kategori":"Unit"
},
{
"id":5,
"label":"Johnny",
"kategori":"Unit"
},
{
"id":6,
"label":"Jacqueline",
"kategori":"Unit"
},
{
"id":7,
"label":"Shirley",
"kategori":"Artikel"
},
{
"id":8,
"label":"Julia",
"kategori":"Project"
},
{
"id":9,
"label":"Russell",
"kategori":"Project"
},
{
"id":10,
"label":"William",
"kategori":"Collection"
}
];
\t \t $('.callProduct').on('click', function(e){
e.preventDefault();
\t \t \t var call = $(this);
\t \t \t var data_target = call.data('target');
\t \t \t var results = '';
\t \t \t $.each(data, function(index, value) {
\t \t \t \t var resName = value.label.toString().toLowerCase();
\t \t \t \t var resCat = value.kategori.toString().toLowerCase();
\t \t \t \t if(resName != '' && data_target == resCat) {
\t \t \t \t \t results += '<li>'+value.label+' - '+value.kategori+'</li>';
\t \t \t \t \t }
\t \t \t \t });
\t \t \t \t if (results != '') {
\t \t \t \t \t $('.resultProduct').append(results);
\t \t \t \t }
\t \t });
\t \t $('.callUnit').on('click', function(e){
e.preventDefault();
\t \t \t var call = $(this);
\t \t \t var data_target = call.data('target');
\t \t \t var results = '';
\t \t \t $.each(data, function(index, value) {
\t \t \t \t var resName = value.label.toString().toLowerCase();
\t \t \t \t var resCat = value.kategori.toString().toLowerCase();
\t \t \t \t if(resName != '' && data_target == resCat) {
\t \t \t \t \t results += '<li>'+value.label+' - '+value.kategori+'</li>';
\t \t \t \t \t }
\t \t \t \t });
\t \t \t \t if (results != '') {
\t \t \t \t \t $('.resultProduct').append(results);
\t \t \t \t }
\t \t });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><div class="callData">
<ul>
<li><a href="#product" class="callProduct" data-target="product">product</a></li>
<li><a href="#unit" class="callUnit" data-target="unit">unit</a></li>
<li><a href="#artikel" class="callArtikel" data-target="artikel">artikel</a></li>
<li><a href="#project" class="callProject" data-target="project">project</a></li>
</ul>
</div>
<div class="resultData">
<div id="product">
<ul class="resultProduct"></ul>
</div>
<div id="unit">
<ul class="resultUnit"></ul>
</div>
<div id="artikel">
<ul class="resultArtikel"></ul>
</div>
<div id="project">
<ul class="resultProject"></ul>
</div>
</div>
Auch ich wollte überprüfen, ob Sie absichtlich "kategori" statt "Kategorie" platzieren? – eeya
Ich platziere bewusst Kategorie und verwende keinen Namen für Label, weil ich mehrere Wert vom Objekt bekommen wollte. Es war eine großartige Erklärung, danke – rnDesto