У меня есть объект данных 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 в соответствующих разделах item_id_4 и item_id_11 по отдельности. Это создает впечатление, что оператор if делает по крайней мере что-то правильное в том смысле, что продажи предметов «my_object» перечислены в порядке значения кнопки, а не в том порядке, в котором они упорядочены в «my_object».
Я не уверен, связана ли проблема с функциями each(), оператором IF или, может быть, с чем-то еще, не упомянутым здесь. Любая помощь в исправлении этого сценария будет принята с благодарностью!