deadloop
@deadloop
Активно осваиваю PHP

Как использовать скрипт один раз, а не вставлять его каждый раз?

У меня есть скрипт:

$.getJSON('/js/db04.json', function (data) {
    $(data).each(function(index, item) {
    $('#table').append(
        '<tr><td class="col1">'+ item.title01 +'</td><td class="col2">' + item.shopcode + '</td><td> <a href="' + item.link + '">' + item.title + '</a></td><td class="col3">' + item.cost + '</td></tr>'
        );
    });
});

Он достает данные из файла JSON, таких файлов у меня много, как его модифицировать так чтобы этот код не вставлять для каждого файла с данными, а использовать один раз.
  • Вопрос задан
  • 258 просмотров
Решения вопроса 2
Athanor
@Athanor
Лайк + Решение: не жмись, нажми
Вынесите его в отдельную функцию и передавайте нужные параметры, которые могут изменяться от вызова к вызову в качестве аргументов.

function getJsonAndUpdateTable(jsonPath) {
  $.getJSON(jsonPath, function (data) {
      $(data).each(function(index, item) {
      $('#table').append(
          '<tr><td class="col1">'+ item.title01 +'</td><td class="col2">' + item.shopcode + '</td><td> <a href="' + item.link + '">' + item.title + '</a></td><td class="col3">' + item.cost + '</td></tr>'
          );
      });
  });
}

А далее вызывайте эту функцию где необходимо и передавайте внутрь путь к нужному json файлу.
Ответ написан
@abberati
frontend-разработчик
Для переиспользования кода используются функции.

function doMagic(path) {
$.getJSON(path, function (data) {
    $(data).each(function(index, item) {
    $('#table').append(
        '<tr><td class="col1">'+ item.title01 +'</td><td class="col2">' + item.shopcode + '</td><td> <a href="' + item.link + '">' + item.title + '</a></td><td class="col3">' + item.cost + '</td></tr>'
        );
    });
});
}

doMagic('/js/db04.json')
doMagic('/js/db05.json')

// или
['/js/db04.json', '/js/db05.json', '/js/db06.json'].forEach(doMagic)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы