Сравните вейлы и найдите пропавших

0

В следующих данных JSON элемент имеет "клейковину" в цепочке allergyfree, а элемент B - нет. Я могу добавить элемент <h4>Yes</h4> к элементу A, но я также хочу добавить элемент <h4>No</h4> в элемент B, поскольку он не содержит "клейковины" в строке. То же самое относится и к другим значениям без аллергий.

Есть ли способ сравнить строки allergyfree между элементом A и элементом B в цикле, так что если элемент имеет значение, например, клейковину, затем распечатайте <h4>Yes</h4>, если отсутствует, напечатайте <h4>No</h4>?

[{"title":"A Item","allergyfree":"sugar,salt,yeast,wheat,gluten"},{"title":"B Item","allergyfree":"sugar,salt,starch,yeast,wheat,preservatives"}]

Код:

$.ajax({
    url: source.json,
    success: function (data) {
        var item_html;

        $(data).each(function (index, item) { 
         var allergyfree = item.allergyfree;           
         if(allergyfree.length !== 0) {

           allergyfree = allergyfree.split(",");

           $.each(allergyfree,function(i,allergy){

            if (?????????????????) 
             {
               $('.'+ allergy).html('<h4>Yes</h4>') 
             }
            else
             { 
               $('.'+ allergy).html('<h4>No</h4>')
             }

           });
          }

        });
    },
    error: function () {}
});

HTML

    <table>
       <tr><th colspan="3">A Item</th></tr>
       <tr><td class="gluten"></td>
       <td class="sugar"></td>
       <td class="yeast"></td></tr>
   </table>


    <table>
       <tr><th colspan="3">B Item</th></tr>
       <tr><td class="gluten"></td>
       <td class="sugar"></td>
       <td class="yeast"></td></tr>
   </table>
Теги:

1 ответ

0

Вы можете использовать функцию $.inArray, которая возвращает позицию элемента в массиве и -1, если элемент отсутствует:

if ($.inArray(alergy,allergyfree)!=-1) 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню