Pasando valores de matriz de imagen y cambiando la fuente de la imagen con un clic

De acuerdo, finalmente, el centavo cayó (¡fuerte ruido!) Sobre el problema de clics que tenía aquíAgregue div dinámico solo una vez y un problema de JSFiddle. El código ahora muestra al usuario una selección de fotografías una vez por nodo que se hace clic. Uf.

Sin embargo, ahora miimg.src=e.target.src La línea tiene problemas para acceder a las otras imágenes de la matriz. Solo la última imagen de la matriz se agregará a la tabla. Creo que esto es porque elallImages.onclick evento debe estar dentro del bucle?

Lo he intentado y luegoimg está apareciendo como indefinido. Supongo que es porque el bucle (y por lo tanto la función) se está ejecutando antesvar img se declara? Creo que es un problema con el orden de las cosas.

Toda la ayuda apreciada.

var makeChart = function () {
    var table = document.createElement('table'),
    taskName = document.getElementById('taskname').value,
    header = document.createElement('th'),
    numDays = document.getElementById('days').value, //columns
    howOften = document.getElementById('times').value, //rows
    row,
    r,
    col,
    c;

    var myImages = new Array();
    myImages[0] = "http://www.olsug.org/wiki/images/9/95/Tux-small.png";
    myImages[1] = "http://a2.twimg.com/profile_images/1139237954/just-logo_normal.png";
    for (var i = 0; i < myImages.length; i++) {
        var allImages = new Image();
        allImages.src = myImages[i];

        var my_div = document.createElement("div");
        my_div.id = "showPics";
        document.body.appendChild(my_div);
        var newList = document.createElement("ul");
        newList.appendChild(allImages);
        my_div = document.getElementById("showPics");
        my_div.appendChild(newList);
        my_div.style.display = 'none';
    }
    header.innerHTML = taskName;
    table.appendChild(header);

    header.innerHTML = taskName;
    table.appendChild(header);

    function addImage(col) {
        var img = new Image();
        img.src = "http://cdn.sstatic.net/stackoverflow/img/tag-adobe.png";
        col.appendChild(img);
        img.onclick = function () {
            my_div.style.display = 'block';

            allImages.onclick = function (e) { // I THINK THIS IS THE PROBLEM
                img.src = e.target.src;
                my_div.style.display = 'none';
                img.onclick=null;
            };
        }

    }

    for (r = 0; r < howOften; r++) {
        row = table.insertRow(-1);
        for (c = 0; c < numDays; c++) {
            col = row.insertCell(-1);
            addImage(col);
        }
    }

    document.getElementById('holdTable').appendChild(table);
    document.getElementById('createChart').onclick=null;
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta