Javascript ID группировки

Я ищу, чтобы создать исключение, которое создает 2 группы на основе их ID-номеров.php.

В настоящее время у меня есть форма, которая заполняет таблицу изображений, и я хочу разделить их на группы, используя JavaScript.

на данный момент скрипт выглядит так:

var currentResults;

function init() {
getProducts();}

function getProducts() {
$.ajax({
    url:"php/products.php",
    dataType: "json",
    data: { public: true },
    success:function(result){
        processResults(result);
    }
});}

function processResults(results) {
currentResults = null;

if (!results && !results.products) 
    return; 

currentResults = results.products;

for (var i = 0; i < results.products.length; i++) {
    processResult(results.products[i]);}

$(".galleryitem").click(handleThumbnailClick);}

function processResult(result) {
    var newDiv = '<div id="galleryitem' + result.id + '" class="galleryitem">';

    newDiv += '<div class="imageHover" style="background: ' + result.color + '">&nbsp;</div>';
    newDiv += '<img class="galleryImage" src="' + encodeImagePath(result.thumbnail) + '" />';

if (result.artist)
    newDiv +=   '<div class="imageArtist">' + result.artist + '</div>';

    newDiv += '</div>';

$('#gallery').append(newDiv);}

function handleThumbnailClick(e) {
    if (!e || !e.currentTarget || !e.currentTarget.id)
    return;

    var id = e.currentTarget.id.substring(11);

window.location = 'product.php?id=' + id;}

function encodeImagePath(path) {
return path.replace(/#/g, '%23');}

Я ищу несколько простых советов о том, как разделить это на несколько элементов div на основе идентификационного номера продукта, чтобы разделить 6 изображений за раз с различным текстом заголовка.

пожалуйста, порекомендуйте!! большое спасибо!

1 ответ

Не уверен, правильно ли я понял вашу идею, но что-то вроде этого должно решить вашу проблему (в случае, если у вас есть свойство parent в продуктах JSON, которые вы получаете с сервера):

function processResult(result) {
    if (typeof(result.parent) !== 'undefined') { // see if the element has a parent
        var newDiv = 'markup goes here'; // if some of the markup would be reused you can create a new function for this

        $('#galleryitem' + result.parent).append(newDiv); // just make sure the parent is already there
    } else {
        var newDiv = '<div id="galleryitem' + result.id + '" class="galleryitem">'; // default behavior that you alreay had

        // code skipped for brevity

        $('#gallery').append(newDiv);
    }
}

PS Вам следует поработать над форматированием кода - его будет намного легче читать, если он хорошо отформатирован.

Другие вопросы по тегам