Фильтровать результат из JSON на основе категорий в jQuery AJax

#javascript #jquery #ajax #json

#javascript #jquery #ajax #json

Вопрос:

Я заполняю категории и результаты, но я хочу, чтобы, если пользователь выбирает категории, результат должен быть отфильтрован на основе выбора. Пользователь также может фильтровать результат на основе множественного выбора.

Пожалуйста, посмотрите мой код здесь

 posts": [

{
    "id": 85,
    "type": "post",
    "slug": "article22",
    "url": "http://example.com/tankers/abc/article22/",
    "status": "publish",
    "title": "Article22",
    "title_plain": "Article22",
    "content": "<p>ar 16 Lorem ipsum dolor sit amet,</p>n",
    "date": "2014-06-06 15:00:12",
    "modified": "2014-06-06 15:00:12",
    "categories": [
        {
            "id": 24,
            "slug": "abc",
            "title": "abc",
            "description": "",
            "parent": 23,
            "post_count": 7
        }
    ],
},


{
    "id": 86,
    "type": "post",
    "slug": "article23",
    "url": "http://example.com/tankers/abc/article23/",
    "status": "publish",
    "title": "Article23",
    "title_plain": "Article23",
    "content": "<p>ar 16 Lorem ipsum dolor sit amet,</p>n",
    "date": "2014-06-06 15:00:12",
    "modified": "2014-06-06 15:00:12",
    "categories": [
        {
            "id": 24,
            "slug": "xyz",
            "title": "xyz",
            "description": "",
            "parent": 0,
            "post_count": 7
        }
    ],
},
  

Пожалуйста, посмотрите мой код javascript ниже

 $.ajax({
    url: "/api/get_recent_posts/",
    //force to handle it as text
    dataType: "json",
    success: function(obj){
        var arr = [], //to collect id values 
        collection = []; //collect unique object
        $.each(obj.posts , function(key , value){ // First Level
            $('#posts-articles-parent').append('<li><h2>' value.title '</h2></li>' );
            $.each(value.categories , function(k , v ){  // The contents inside stars
                if ($.inArray(v.id, arr) == -1) {
                    arr.push(v.id);
                    if(v.parent == 0){
                        $('#posts-category-parent').append('<li><input type="checkbox" class="chkCategory" checked="true" value="' v.id '"/><a>' v.title '</a></li>' );
                    } else {
                        $('#posts-category').append('<li><input type="checkbox" class="chkCategory" checked="true" value="' v.id '"/><a>' v.title '</a></li>' );
                    }
                }
            });
        });
    }
});
  

Пожалуйста, посмотрите мой html-код

 <div id="posts-categories-wrapper">
    <ul id="posts-category-parent">
    </ul>
    <ul id="posts-category">
    </ul>
</div>
<div id="posts-articles-wrapper">
    <ul id="posts-articles-parent">
    </ul>
</div>
  

Я хочу, как я могу сделать так, чтобы результат «value.title» отфильтровывался на основе выбранной категории. пожалуйста, посмотрите ссылку plnkr plnkr.co/edit/8OlPCUMuLfZBFry63kEb?p=preview . Я хочу, как написать функциональность для фильтрации результата, если я выберу любую категорию

Комментарии:

1. Я не могу ответить на вопрос в вашем сообщении.

2. О .. я хочу, как я могу сделать так, чтобы результат «value.title» отфильтровывался на основе выбранной категории. пожалуйста, посмотрите ссылку plnkr plnkr.co/edit/8OlPCUMuLfZBFry63kEb?p=preview . Я хочу, как написать функциональность для фильтрации результата, если я выберу любую категорию