Foros del Web » Programando para Internet » Jquery »

problema tabla con select dinámico jquery

Estas en el tema de problema tabla con select dinámico jquery en el foro de Jquery en Foros del Web. Hola. Tengo un problema para crear un select html dinámico dentro de la celda de una tabla. Esto me funciona bien hasta aquí, pero al ...
  #1 (permalink)  
Antiguo 09/10/2012, 12:48
 
Fecha de Ingreso: enero-2011
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
problema tabla con select dinámico jquery

Hola. Tengo un problema para crear un select html dinámico dentro de la celda de una tabla. Esto me funciona bien hasta aquí, pero al momento de hacer click sobre el select me muestra las opciones pero no me deja seleccionar una, ya que se cierra.
Tratando de evitar esto le agregué a la celda la clase prioridad, para que funcione al hacer click sobre la celda que tenga esta clase, y luego le quite la clase para que no vuelva a crear el select, pero no me funciona.

Gracias para quien me pueda ayudar.

Código:
<script type='"text/javascript' >
    echo'
        $(document).ready(function(){
        $("td.prioridad").click(function(event){
           
             $(this).removeClass("prioridad");
            
              var fila = $(this).attr("id").split("_");
              var select = "";
              
              
                  select = select + "<select id='s_"+fila[1]+"' style='width: 100%;'>";
                  select = select +"<option value='uno'>1</option>";
                  select = select +"<option value='dos'>2</option>";
                  select = select +"</select>";
                  $(this).html(select);
              
              });
              });
</script>
y el html de la celda que es impreso con echo de PHP segun informacion de base de datos:
Código:
echo"<td class='prioridad' id='c_".$datos['id']."_".$datos['prioridad']."'>" .$datos['prioridad']. "</td>";
  #2 (permalink)  
Antiguo 09/10/2012, 19:31
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 8 meses
Puntos: 47
Respuesta: problema tabla con select dinámico jquery

te recomendaria que hagas un append de un tipo de elemento select de html con jquery en lugar de concatenarlo en una cadena y hacer un inner html.

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    
  3.     $("td.prioridad").click(function(event){
  4.            
  5.     $(this).removeClass("prioridad");
  6.    
  7.     var fila = $(this).attr("id").split("_");
  8.    
  9.     $(this)
  10.         .append(
  11.             $("<select></select>")
  12.                 .append(
  13.                     $("<option></option>")
  14.                         .val(1)
  15.                         .text(1)
  16.                 )
  17.                 .append(
  18.                     $("<option></option>")
  19.                         .val(2)
  20.                         .text(2)
  21.                 )
  22.         )            
  23.     });
  24. });
  #3 (permalink)  
Antiguo 10/10/2012, 18:08
 
Fecha de Ingreso: enero-2011
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: problema tabla con select dinámico jquery

Gracias, djaevi, por tu respuesta, pero no me funcionó como espero que lo haga, ya que al hacer el segundo click, para elegir una opción del select, me agrega otro select cada vez que hago click. Al parecer lo de quitarle la clase prioridad a la celda es el problema, porque sigue ejecutando la función aunque ya no coincida con con el selector $("td.prioridad").
  #4 (permalink)  
Antiguo 13/10/2012, 11:34
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 8 meses
Puntos: 47
Respuesta: problema tabla con select dinámico jquery

En ese caso agrega al final de la funcion esto:

$(this).unbind("click"); eso deberia remover la funcion click de la celda una vez q ya tengas creado el select.

Saludos

Etiquetas: funcion, html, javascript, php, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:34.