json:当点击类别链接时,我想只显示该类别中的帖子

时间:2016-04-05 19:42:52

标签: javascript jquery json

我希望获得分配给每个类别的帖子列表,并使用slug作为链接显示标题,我不想对类别名称进行硬编码,而是希望获取分配给每个类别的每个帖子。我希望这是有道理的。

我的问题是,如果帖子是类别slug“all-qualified-retirement-plans”的一部分,我如何比较?

我想要做的是......当我点击链接“#all-qualified-retirement-plans”时,我只希望这些帖子显示类别slug“all-qualified-retirement-plans”

@

// JSON

    <ul data-role="listview" data-inset="true" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">

    <li data-id="4" data-parent="1" class="ui-first-child">
<a href="#all-qualified-retirement-plans" class="ui-btn ui-btn-icon-right ui-icon-carat-r">All Qualified Retirement Plans</a></li>

  <li data-id="7" data-parent="0" class="ui-first-child">
<a href="#fica-ss-medicare-taxes" class="ui-btn ui-btn-icon-right ui-icon-carat-r">FICA - SS &amp; MEDICARE TAXES</a></li>

  <li data-id="2" data-parent="0">
<a href="#healthcare-plans" class="ui-btn ui-btn-icon-right ui-icon-carat-r"/> Healthcare Plans </a></li>

      <li data-id="3" data-parent="0">
<a href="#other-benefits" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Other Benefits</a></li>

        </ul>


function allQualifiedRetirementPlans(data) {
  "use strict";

  var output = '<ul  data-role="listview" data-filter="true" data-filter-placeholder="Search..." >';

  $.each(data.posts, function(key, val) {
    output += '<li>';
    output += '<a href="#' + val.slug + '">';  // post slug
    output += '<h3>' + val.title + "</h3>";  // post title
    output += '</a>';
    output += '</li>';
  }); //go through each post


  output += "</ul>";
  $('#all-qualified-retirement-plans-postlist').html(output);

1 个答案:

答案 0 :(得分:2)

您似乎错过了数据对象中]字段的关闭"posts"

<强>更新

我还包含了循环类别的逻辑,以查看slug是否存在于对象数组中。

另外,为了向您展示简单循环不需要jQuery,我删除了$ .each()方法

看到这个小提琴: https://jsfiddle.net/5yyg3req/2/