У меня есть JSON-объект данных, содержащий элементы и их продажи, перечисленные по месяцам. Я хотел бы перечислить продажи предметов / месяц внутри DIV вместе с другой информацией о каждом предмете.
Вот мой объект JSON:
var my_object= [{"item_id":"11","month":"February","sales":"7"}, {"item_id":"4","month":"February","sales":"2"},{"item_id":"11","month":"March","sales":"1"},{"item_id":"4","month":"March","sales":"2"}]
вот как бы я хотел, чтобы последний HTML-код выглядел:
<ul><li><button value="4">item_id_4</button><div>where the item_4 sales/month (i.e., 2,2) should go</div></li>
<li><button value="11">item_id_11</button><div>where the item_11 sales/month (i.e, 7,1) should go</div></li></ul>
наконец, вот моя еще не правильная попытка jquery / javascript для отображения количества элементов в месяц.
$(function(){
$('button').each(function(){
var my_object = [{"item_id":"11","month":"February","sales":"7"}, {"item_id":"4","month":"February","sales":"2"},{"item_id":"11","month":"March","sales":"1"},{"item_id":"4","month":"March","sales":"2"}];
var button_value=$(this).val();
$.each(my_object, function(i,item){
if(item.item_id==button_value){
$('div').append(item.sales);
}
});
});
});
В этом сценарии продажи для обоих товаров отображаются в КАЖДОМ элементе div, то есть в 2,2,7,1, вместо того, чтобы просто отображать 2,2 и 7,1 в их соответствующих элементах div_id_4 и item_id_11 отдельно. Из-за этого создается впечатление, что оператор if делает по крайней мере что-то правильно в том смысле, что продажи товара «my_object» перечислены в порядке значения кнопки, а не так, как в заказе «my_object».
Я не уверен, связана ли проблема с функциями each (), оператором IF или чем-то еще, не упомянутым здесь. Любая помощь в исправлении этого скрипта будет принята с благодарностью!