javascript - 样式化 json 列表

标签 javascript html json ajax

我如何将我的 json 列表设置为 Material 卡片?

我的 json/javascript:

$(document).ready(function(){
     var url="getjson.php";

     $.getJSON(url,function(data){
      console.log(data);
      $.each(data.bananas, function(i,post){ 
            var banana =

             "<div>"
      +"<h3>"+post.name+"</h3>"
        +"<h5>"+post.type+"</h5>"
      +"</div>";

      $(banana).appendTo("#banana-data");
      });

现在我试图将它显示为 nicelt 样式的卡片列表,但我很挣扎:

   <div class="row">
        <div class="col-md-4">
             <div id="banana-data" class="box box-widget widget-user">
             <div class="widget-user-header bg-aqua-active">
              <h3 class="widget-user-username"></h3>
              <h5 class="widget-user-desc"></h5>

                   </div>
            </div>
      </div>      
  </div>

但是我的内容出现在我的风格之外 我尝试使用列表如下:

         <ol id="banana-data">
        <div class="row">
        <div class="col-md-4">
             <div  class="box box-widget widget-user">
             <div class="widget-user-header bg-aqua-active">
              <h3 class="widget-user-username"></h3>
              <h5 class="widget-user-desc"></h5>

                   </div>
            </div>
      </div>      
  </div>  
    </ol>


          var banana =

         "<ol>"
  +"<h3>"+post.cname+"</h3>"
    +"<h5>"+post.sub_type+"</h5>"
  +"</ol>";

  $(banana).appendTo("#banana-data");
  });

内容显示在我的样式中,但 json 文件中的整个项目列表都位于同一张卡片上,而不是分开创建多个样式卡片。

这是我将 msqli 表中的数据转换为 json 的 php 文件:

    <?php

    require_once 'dbconfig.php';
    $posts = array();
    $query = "SELECT * FROM bananas";

    $stmt = $db_con->prepare($query);
    $stmt->execute();

    while($row=$stmt->fetch(PDO::FETCH_ASSOC)) {

        $posts['bananas'][] = $row;
    }

    echo json_encode($posts);
?>

最佳答案

我想你还没有附加它。你必须像这样使用 after() 方法..

 $("#banana-data").after(banana);

所以改变你的脚本:

$(document).ready(function(){
     var url="getjson.php";

     $.getJSON(url,function(data){
      console.log(data);
        banana = "";
      $.each(data.bananas, function(i,post){ 
            banana +=

             "<div>"
      +"<h3>"+post.name+"</h3>"
        +"<h5>"+post.type+"</h5>"
      +"</div>";
      });
    $("#banana-data").after(banana);

关于javascript - 样式化 json 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41891076/

相关文章:

javascript - 如果 .like count div 为空,则无法增加计数

php - 将 json 解析为字符串时出错

javascript - jQuery AJAX 没有得到 PHP 的响应

javascript - 在整个页面上工作的水平滚动 jquery

javascript - 当我尝试生成基本数学运算时函数返回 NaN

javascript - 为每个数据集创建一个 Highchart

javascript - jQuery on click 用于在未单击时触发动态元素

html - 哪个是显示网络统计信息的最佳工具 - 开源和付费

json - 将 json 中的所有 snake_case 键转换为 camelCase 键

javascript - react Redux + redux 坚持 : only part of the data persists