2014-11-01 4 views
0

У меня есть два divs - divOne и divTwo.Show Hide Div на основе ответа JSON

divOne всегда отображается, когда divTwo скрыт.

Сейчас я читаю сервис JSON, который возвращает следующие данные:

{"ip":"xx.xx.xxx.xxx","country_code":"US","country_name":"United States","region_code":"MI","region_name":"Michigan","city":"Lansing","zipcode":"48917","latitude":42.7257,"longitude":-84.636,"metro_code":"551","area_code":"517"} 

Я хочу прочитать country_code, и если это «IN», а затем скрыть divOne и отображения divTwo.

Как это сделать? Это то, что я до сих пор в JQuery 1.11:

<script> 
(function() { 
    var locAPI = ""; 
    $.getJSON(locAPI) 
    .done(function(data) { 
     $.each(data.items, function(i, y) { 

     } 
     }); 
    }); 
})(); 
</script> 

ответ

0
<script> 
(function() { 
    var locAPI = ""; 
    $.getJSON(locAPI) 
    .done(function(data) { 
    if (data.country_code == 'IN'){ 
     $('#div1_id').hide(); 
     $('#div2_id').show(); 
    } 
     }); 
    }); 
})(); 
</script> 

код страны будут доступны data.country_code

0

country_code можно получить непосредственно

if (data.country_code == 'IN'){ 
    divOne.hide(); 
    divTwo.show(); 
} 
0

Здесь вы найдете jsFiddle с кодом и данными, чтобы проиллюстрировать ответ.

Решение должно проходить через массив data.items, и если country_code равен «IN», тогда скройте divOne и покажите divTwo. Этого можно достичь с помощью методов jQuery hide() и show().

$.each(data.items, function(index, item) { 
    if (item.country_code === "IN") { 
     $("#divOne").hide(); 
     $("#divTwo").show(); 
    } 
}); 

(Примечание: Эта логика предполагает, что вы получаете обратно массив элементов, где ваш фрагмент JSON представляет собой пример одного элемента).