Показать сообщение отдельно
  #1 (permalink)  
Старый 24.03.2022, 15:14
Интересующийся
Отправить личное сообщение для Dmitry1988 Посмотреть профиль Найти все сообщения от Dmitry1988
 
Регистрация: 24.08.2021
Сообщений: 10

поиск id по значению параметра в json
Всем привет. В данном коде реализовано сканирование штрих кода товара и добавление его в корзину. Здесь прописано условие для первого товара. Писать так для каждого не практично, так как список товаров будет меняться. Помогите разобраться как получив значение barcode со сканера найти в goods.json такое же значение link и получить его id.

goods.json
{
  "a" : {
    "name" : "coca-cola",
    "cost" : "10",
    "description" : "описание товара 1",
    "image" : "img/Coca-Cola.jpg",
    "type" : "drink",
    "link" : "46147110",
     "pos" : "1"
  },
  "b" : {
    "name" : "кофе",
    "cost" : "10",
    "description" : "описание товара 2",
    "image" : "img/cofe.jpg",
    "link" : "goods/tb-2.html",
    "type" : "drink",
     "pos" : "46147111"
  },
  "c" : {
    "name" : "чипсы",
    "cost" : "30",
    "description" : "описание товара 3",
    "image" : "img/chips.jpeg",
    "link" : "46147112",
    "type" : "snack",
     "pos" : "3"
  },
     "d" : {
    "name" : "сендвич",
    "cost" : "40",
    "description" : "описание товара 4",
    "image" : "img/sandvich.png",
    "link" : "46147113",
    "type" : "pie",
     "pos" : "4"
  },  
  "e" : {
    "name" : "coca-cola",
    "cost" : "10",
    "description" : "описание товара 1",
    "image" : "img/Coca-Cola.jpg",
    "type" : "drink",
    "link" : "46147114",
     "pos" : "5"
  }
[/json]

[js]
$(document).ready(function() 
{
    var barcode="";
    $(document).keydown(function(e) 
    {
        var code = (e.keyCode ? e.keyCode : e.which);
        if(code==13)// Enter key hit
        {
            console.log(barcode);
                if (barcode == "46147110" ) {
                id = "a";
    if (cart[id]==undefined) {
        cart[id] = 1; 
    }
    else {
        cart[id]++; 
    }
    showCart();
    saveCart();
    barcode = ""
            }
        }
        else if(code==9)// Tab key hit
        {
             console.log(barcode);
               barcode = ""
        }
        else
        {
            barcode=barcode+String.fromCharCode(code);
        }
    });
});

Последний раз редактировалось Dmitry1988, 24.03.2022 в 15:59.
Ответить с цитированием