Situación especifica: Celda dinámica y su contenido

Crear páginas para Gecko, diferencias con IE, articulos de interés y recursos en español
pistachu

Situación especifica: Celda dinámica y su contenido

Mensajepor pistachu » Mar Nov 27, 2012 1:10 pm

Buenas:
Tengo un archivo html que simplificado sería

Código: Seleccionar todo

<html>
<body>
  <table id="MiTabla">
    <tbody></tbody>
  </table>
</body>
</html>


y un javascript que genera la tabla dinámicamente mediante los métodos de "DOM":

Código: Seleccionar todo

function crea_tabla(){
        var n=5;//filas
        var n2=4;//columnas
   var tblBody = document.getElementById("MiTabla").getElementsByTagName("tbody")[0];
   for (var f=0;f<n;f++) {
      var fila = document.createElement("tr");
      for (var c=0;c<n2;c++) {
         var celda = document.createElement("td");
         var textoCelda;
         textoCelda = document.createTextNode("Texto de ejemplo (en la versión final varía según la celda, en función de condiciones y demás)");
                         //trozo problemático de código
         celda.addEventListener("click",function(){celda_click(celda.innerHTML);},false);
                        //resto de código 
         celda.appendChild(textoCelda);
         celda.setAttribute("class","calendario_celda");
         fila.appendChild(celda);
      }
      tblBody.appendChild(fila);
   }   
}
function celda_click(str){
   alert("Evento"+str);
}


Pues bien, con este código lo que quiero es que al hacer click en una celda especifica, se mande el contenido de esa celda como parámetro a la función celda_click(str). Pero el trozo de "celda.addEventListener" no termina de funcionarme, porque aunque la llamada a la función se realiza y se ejecuta la alerta, no consigo que se pase el contenido de la celda como parámetro. He probado con celda.innerHTML, textContent, con textoCelda, con TextoCelda.nodeValue... pero no lo consigo. Si en cambio llamado a la función escribiendo: "celda.addEventListener("click",function(){celda_click("Texto de prueba");},false);" entonces la cadena de texto sí se muestra en la alerta, pero eso no me sirve :-(

Si alguién me ilumina se lo agradezco, que me he atascado en este punto y no puedo continuar con mi desarrollo.

Volver a “Desarrollo web (HTML/CSS/JS, accesibilidad...)”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado