2016-07-02 35 views
-3

我真的很想明白爲什麼不是我的列表加載。 這是我的json和jquery,以及我的HTML。 控制檯顯示0錯誤,列表只顯示空白。我非常感謝一些幫助,我是這個json的新手。提前謝謝了!爲什麼不是我的json產品列表加載?

// Json array 
 
    var productList = {"products": [ 
 
     {"description": "Bata Bordada", "color": "amarelo", "size":"P", "price": "390"}, 
 
     {"description": "Chapéu de Praia com Fivela", "color": "cinza", "size":"M", "price": "390"}, 
 
     {"description": "Vestido Texturizado", "color": "branco", "size":"G", "price": "390"}, 
 
     {"description": "Bata Bordada", "color": "branco", "size":"GG", "price": "390"}, 
 
     {"description": "Chapéu de Praia com Fivela", "color": "amarelo", "size":"36", "price": "390"}, 
 
     {"description": "Vestido Texturizado", "color": "azul", "size":"38", "price": "390"}, 
 
     {"description": "Bata Bordada", "color": "cinza", "size":"40", "price": "390"}, 
 
     {"description": "Chapéu de Praia com Fivela", "color": "branco", "size":"42", "price": "390"}, 
 
     {"description": "Vestido Texturizado", "color": "cinza", "size":"44", "price": "390"} 
 
    ] 
 
    }; 
 

 

 
function loadList() { 
 

 
    var list = $("#ProductList").listview(); 
 
    list.sort(); 
 

 
    $(productList.products).each(function(index){ 
 
    $(list).append(
 
     '<li class="product-it"> <article class="product"> <span class="prd-img-wrapper"> <img class="prd-img" src="img/vestido1.jpg"></span> <h2 class="prd-tit">' + this.description + '</h2> <span class="prd-wrap"><span class="prd-price"><span class="prd-prc">' + this.price + '</span></br> <span class="prd-par">até 5x de R$30,00</span></span><a class="prd-cart" href="#">Adicionar ao carrinho.</a></span></article></li>'); 
 
    }); 
 

 
    $(list).listview("refresh"); 
 

 
}
<!DOCTYPE HTML> 
 
<html lang="pt-br"> 
 
<head> 
 
    <meta charset="utf-8"/> 
 
    <meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport"> 
 
    <title>Teste Vaga Front End</title> 
 
    <link href="css/style.css" rel="stylesheet"/> 
 
    <script src="https://code.jquery.com/jquery-3.0.0.min.js"></script> 
 
    <script src="js/js.js"></script> 
 
</head> 
 
<body onLoad="loadList()"> 
 
<section class="products"> 
 
    <header class="products-hdr"> 
 
     <h3 class="mobile-btn order">Ordenar</h3> 
 
     <select class="prd-order"> 
 
      <option value="MaisRecentes">Mais Recentes</option> 
 
      <option value="MaiorPreco">Maior Preço</option> 
 
      <option value="MenorPreco">Menor Preço</option> 
 
     </select> 
 
    </header> 
 
    <ul id="ProductList" class="product-lt"> \t \t \t \t 
 
    </ul> 
 
</section> 
 
</body> 
 
</html>

+1

什麼是'listview' – brk

+0

另外我有點絕望,因爲我必須提供此代碼運行週一^ _^ –

+0

@ user2181397你讓我。我不知道。我只是從其他地方複製代碼,只是改變了變量以適應我的需求:(我甚至沒有注意到這個listview的東西...... :( –

回答

2

你正在努力與jQuery Mobile!所以,你需要把它列入你的頁面:jquery.mobile-1.4.5.min.jsjquery.mobile-1.4.5.min.css

請檢查該工作演示:

// Json array 
 
    var productList = {"products": [ 
 
     {"description": "Bata Bordada", "color": "amarelo", "size":"P", "price": "390"}, 
 
     {"description": "Chapéu de Praia com Fivela", "color": "cinza", "size":"M", "price": "390"}, 
 
     {"description": "Vestido Texturizado", "color": "branco", "size":"G", "price": "390"}, 
 
     {"description": "Bata Bordada", "color": "branco", "size":"GG", "price": "390"}, 
 
     {"description": "Chapéu de Praia com Fivela", "color": "amarelo", "size":"36", "price": "390"}, 
 
     {"description": "Vestido Texturizado", "color": "azul", "size":"38", "price": "390"}, 
 
     {"description": "Bata Bordada", "color": "cinza", "size":"40", "price": "390"}, 
 
     {"description": "Chapéu de Praia com Fivela", "color": "branco", "size":"42", "price": "390"}, 
 
     {"description": "Vestido Texturizado", "color": "cinza", "size":"44", "price": "390"} 
 
    ] 
 
    }; 
 

 

 
function loadList() { 
 

 
    var list = $("#ProductList").listview(); 
 
    list.sort(); 
 

 
    $(productList.products).each(function(index){ 
 
    $(list).append(
 
     '<li class="product-it"> <article class="product"> <span class="prd-img-wrapper"> <img class="prd-img" src="img/vestido1.jpg"></span> <h2 class="prd-tit">' + this.description + '</h2> <span class="prd-wrap"><span class="prd-price"><span class="prd-prc">' + this.price + '</span></br> <span class="prd-par">até 5x de R$30,00</span></span><a class="prd-cart" href="#">Adicionar ao carrinho.</a></span></article></li>'); 
 
    }); 
 

 
    $(list).listview("refresh"); 
 

 
}
<!DOCTYPE HTML> 
 
<html lang="pt-br"> 
 
<head> 
 
    <meta charset="utf-8"/> 
 
    <meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport"> 
 
    <title>Teste Vaga Front End</title> 
 
    <link href="css/style.css" rel="stylesheet"/> 
 
    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> 
 
    <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 
 
    <link href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" rel="stylesheet"/> 
 
    <script src="js/js.js"></script> 
 
</head> 
 
<body onLoad="loadList()"> 
 
<section class="products"> 
 
    <header class="products-hdr"> 
 
     <h3 class="mobile-btn order">Ordenar</h3> 
 
     <select class="prd-order"> 
 
      <option value="MaisRecentes">Mais Recentes</option> 
 
      <option value="MaiorPreco">Maior Preço</option> 
 
      <option value="MenorPreco">Menor Preço</option> 
 
     </select> 
 
    </header> 
 
    <ul id="ProductList" class="product-lt"> \t \t \t \t 
 
    </ul> 
 
</section> 
 
</body> 
 
</html>

+0

更準確地說,他們複製的代碼似乎使用jQuery移動設備......但在給定信息的這一點上似乎是最可能的問題 – Assimilater

-1

您需要刪除.listView()引用。該似乎是某種插件很可能來自jQuery手機,你沒有包括在你的網頁上。所以,在添加包括對jQuery的mobile.js的首選版本,或刪除引用.listView()如下:

var list = $("#ProductList"); 

在背景:

var productList = {"products": [ 
 
     {"description": "Bata Bordada", "color": "amarelo", "size":"P", "price": "390"}, 
 
     {"description": "Chapéu de Praia com Fivela", "color": "cinza", "size":"M", "price": "390"}, 
 
     {"description": "Vestido Texturizado", "color": "branco", "size":"G", "price": "390"}, 
 
     {"description": "Bata Bordada", "color": "branco", "size":"GG", "price": "390"}, 
 
     {"description": "Chapéu de Praia com Fivela", "color": "amarelo", "size":"36", "price": "390"}, 
 
     {"description": "Vestido Texturizado", "color": "azul", "size":"38", "price": "390"}, 
 
     {"description": "Bata Bordada", "color": "cinza", "size":"40", "price": "390"}, 
 
     {"description": "Chapéu de Praia com Fivela", "color": "branco", "size":"42", "price": "390"}, 
 
     {"description": "Vestido Texturizado", "color": "cinza", "size":"44", "price": "390"} 
 
    ]}; 
 

 
function loadList() { 
 

 
    var list = $("#ProductList"); 
 
    // list.sort(); commented because this won't do anything useful 
 

 
    $(productList.products).each(function(index){ 
 
    $(list).append(
 
     '<li class="product-it"> <article class="product"> <span class="prd-img-wrapper"> <img class="prd-img" src="img/vestido1.jpg"></span> <h2 class="prd-tit">' + this.description + '</h2> <span class="prd-wrap"><span class="prd-price"><span class="prd-prc">' + this.price + '</span></br> <span class="prd-par">até 5x de R$30,00</span></span><a class="prd-cart" href="#">Adicionar ao carrinho.</a></span></article></li>'); 
 
    }); 
 
}
<head> 
 
<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script> 
 
</head> 
 
<body onload="loadList()"> 
 
<section class="products"> 
 
    <!-- header element with select omitted for brevity --> 
 
    <ul id="ProductList" class="product-lt"> \t \t \t \t 
 
    </ul> 
 
</section> 
 
</body>

+0

這是jquery mobile請檢查我的答案。 –

+0

@IsmailRBOUH - 哦,對,很酷,謝謝。我做了一個更新,但假設OP正在嘗試使用jQuery移動[你的答案](http://stackoverflow.com/a/38157178/615754)是要走的路。 – nnnnnn

+0

請看看我的代碼片段是一個工作演示! –

相關問題