Foros del Web » Programando para Internet » Jquery »

funcion se ejecuta dos veces evento click

Estas en el tema de funcion se ejecuta dos veces evento click en el foro de Jquery en Foros del Web. Saludos !. Estoy trabajando en un proyecto escolar y tengo un problema con un codigo que hace un append() en un div.Lo que pasa es ...
  #1 (permalink)  
Antiguo 09/05/2015, 18:36
 
Fecha de Ingreso: abril-2015
Mensajes: 3
Antigüedad: 9 años
Puntos: 0
funcion se ejecuta dos veces evento click

Saludos !. Estoy trabajando en un proyecto escolar y tengo un problema con un codigo que hace un append() en un div.Lo que pasa es que hace doble append y no se por que. pensaba que era por el for que reccorre los botones con la propiedad name pero lo probe sin el append con un alert() y no era eso.La idea es añadir las asignaturas con su respectivo profesor.Bueno en fin aqui les comparto el codigo les agradeceria si me dan una mano.

Código:
var CantidadBotonesEditar=$('input[name=BTNModificarSeccion]').length; 

   if(CantidadBotonesEditar>=1)
   {
    
     for(var i=0;i<CantidadBotonesEditar;i++)
     {
        var botonEditaActual=$('input[name=BTNModificarSeccion]')[i];
        
        
        $(botonEditaActual).click(function()
        {
         
         var IdSecciones=$(this).attr('title');
         var DivAmodificar="#DialogSeccionesModifica"+IdSecciones;   
           
          if(ModificaSeccion2==false)
          {
            
            Modificar(DivAmodificar);
            
          }      
  
        });
  
     }
    
      function Modificar(ContenedorBtn)
      {
        ModificaSeccion2=true;

        $(ContenedorBtn).dialog({
          title: 'Modificar Seccion!', 
	      autoOpen:true, // no abrir automáticamente
	      resizable: true, //permite cambiar el tamaño
	      height:920, // altura
	      width:920,
          modal: true, //capa principal, fondo opaco
	      buttons: { //crear botón de cerrar
	        "Cerrar": function() {
	          $( this ).dialog( "close" );
	        }
	      }
	    });
            
      
                ModSeccion(ContenedorBtn);         

      }
     
     function ModSeccion(ContenedorBtn)
      {

          ModificaSeccion2=false;        
         var ContadorTablas2;
         var ProfesorSeleccionado2=[];
         var AsignaturaSeleccionada2=[];
         var AsignaturasAsignadas2=false;

$(ContenedorBtn+' #BtnModificarAsignturaASeccion').click(function()
{
      //alert('Prueba');
     
   var selectGradoAddSecciones2=$(ContenedorBtn+' #selectGradoModificarSecciones').val();               
   var SelectLetraAddSeccion2=$(ContenedorBtn+' #SelectLetraModificarSeccion').val();
   var SelectCantidadEstudiantes=$(ContenedorBtn+' #SelectModificarCantidadEstudiantes').val();
   var SelectCantidadMateriasAddSeccion2=$(ContenedorBtn+' #SelectCantidadModificarMateriasAddSeccion').val();
   var AsignaturaDeLaSeccion2=$(ContenedorBtn+' #AsignaturaDeLaSeccionModificar').val();
   var ProfesorDeLaSeccion2=$(ContenedorBtn+' #ModificarProfesorDeLaSeccion').val();    
   var DatosAsignaturaDelaSeccion2=$(ContenedorBtn+' #AsignaturaDeLaSeccionModificar option:selected').html();
   var DatosProfesorDeLaSeccion2=$(ContenedorBtn+' #ModificarProfesorDeLaSeccion option:selected').html();  
   var BTNEliminarActual;
   var TablaEliminarActual;         
         
 
  if($(ContenedorBtn+' #AsignaturaDeLaSeccionModificar').val()==0)
  {
    $(ContenedorBtn+' #AsignaturaDeLaSeccionModificar').css({'border-color':'red'});
    return false;
    
  }else if($(ContenedorBtn+' #ModificarProfesorDeLaSeccion').val()==0)
  {
    $(ContenedorBtn+' #AsignaturaDeLaSeccionModificar').css({'border-color':'#fff','box-shadow':'0px 1px 1px rgba(0, 0, 0, 0.075)','border':'1px solid #CCC'});
    $(ContenedorBtn+' #ModificarProfesorDeLaSeccion').css({'border-color':'red'});    
    return false;
    
  }else
  {
    $(ContenedorBtn+' #ModificarProfesorDeLaSeccion').css({'border-color':'#fff','box-shadow':'0px 1px 1px rgba(0, 0, 0, 0.075)','border':'1px solid #CCC'});
    
  } 
 

    ProfesorSeleccionado2[ContadorTablas2]   = ProfesorDeLaSeccion2; 
    AsignaturaSeleccionada2[ContadorTablas2] = AsignaturaDeLaSeccion2; 
     
     
     if(ContadorTablas2>0)
     {
   
    for(var contador2=0;contador2<ContadorTablas2;contador2++)
    {
        if(ProfesorSeleccionado2[contador2]==ProfesorDeLaSeccion2 
        && AsignaturaSeleccionada2[contador2]==AsignaturaDeLaSeccion2)
        {
           
          $( "#dialogo" ).html("<label>La Asigntura que ha seleccionado ya existe.</label>"); 
          $( "#dialogo" ).dialog({
          title: 'Asignatura Repetida!', 
	      autoOpen:true, // no abrir automáticamente
	      resizable: true, //permite cambiar el tamaño
	      height:220, // altura
	      modal: true, //capa principal, fondo opaco
	      buttons: { //crear botón de cerrar
	        "Cerrar": function() {
	          $( this ).dialog( "close" );
	        }
	      }
	    });
            return false;
        }else
        {
            
          
        }


    }

         BTNEliminarActual="#BotonE"+ContadorTablas2;
         TablaEliminarActual="tablaAgregarSecciones"+ContadorTablas2;         
            
       $(ContenedorBtn+' #AsignaturasSeleccionadas2').append(
           '<div id="tablaAgregarSecciones'+ContadorTablas2+'">'+
           '<table class="table table-bordered table-hover">'+
          '<thead>'+
                '<tr>'+
                    '<th>Asignatura</th>'+
                    '<th>Profesor</th>'+
                    '<th></th>'+
                    '<th>Eliminar</th>'+
                '</tr>'+
          '</thead>'+
          '<tbody>'+
        
        '<tr>'+
        
            '<td><input type="text" name="AsignaturaSeccion2['+ContadorTablas2+']" value="'+DatosAsignaturaDelaSeccion2+'" class="form-control" /></td>'+
            '<td><input type="text" name="ProfesorAsig2['+ContadorTablas2+']" value="'+DatosProfesorDeLaSeccion2+'" class="form-control" /></td>'+
        
        '<td>'+
        '<input type="hidden" name="IdAsig2['+ContadorTablas2+']" value="'+AsignaturaDeLaSeccion2+'" id="idAsig2'+ContadorTablas2+'" />'+
        '<input type="hidden" name="IdProfe2['+ContadorTablas2+']" value="'+ProfesorDeLaSeccion2+'" id="idProf2'+ContadorTablas2+'" />'+
        '</td>'+
        '<td>'+
        '<input type="button" value="Eliminar"  class="btn btn-danger" id="BotonE'+ContadorTablas2+'"'+ 
        'title="'+AsignaturaDeLaSeccion2+'" name="EliminarAsignaturaSeccion" onclick="ElimnarElemento('+TablaEliminarActual+')" />'+
        '</td>'+
        
        '</tr>'+
        
        '</tbody>'+
        '</table>'+
        '</div>');
                
           
          ContadorTablas2=ContadorTablas2+1;


     if(ContadorTablas2==SelectCantidadMateriasAddSeccion2)
     {
  
        AsignaturasAsignadas2=true;
         
        
     }else
     {
        AsignaturasAsignadas2=false;
        
     }

}else
{
       ProfesorSeleccionado2[ContadorTablas2]   = ProfesorDeLaSeccion2; 
       AsignaturaSeleccionada2[ContadorTablas2] = AsignaturaDeLaSeccion2;
       
         BTNEliminarActual="#BotonE"+ContadorTablas2;
         TablaEliminarActual="tablaAgregarSecciones"+ContadorTablas2;         
            
       $(ContenedorBtn+' #AsignaturasSeleccionadas2').append(
           '<div id="tablaAgregarSecciones'+ContadorTablas2+'">'+
           '<table class="table table-bordered table-hover">'+
          '<thead>'+
                '<tr>'+
                    '<th>Asignatura</th>'+
                    '<th>Profesor</th>'+
                    '<th></th>'+
                    '<th>Eliminar</th>'+
                '</tr>'+
          '</thead>'+
          '<tbody>'+
        
        '<tr>'+
        
            '<td><input type="text" name="AsignaturaSeccion2['+ContadorTablas2+']" value="'+DatosAsignaturaDelaSeccion2+'" class="form-control" /></td>'+
            '<td><input type="text" name="ProfesorAsig2['+ContadorTablas2+']" value="'+DatosProfesorDeLaSeccion2+'" class="form-control" /></td>'+
        
        '<td>'+
        '<input type="hidden" name="IdAsig2['+ContadorTablas2+']" value="'+AsignaturaDeLaSeccion2+'" id="idAsig2'+ContadorTablas2+'" />'+
        '<input type="hidden" name="IdProfe2['+ContadorTablas2+']" value="'+ProfesorDeLaSeccion2+'" id="idProf2'+ContadorTablas2+'" />'+
        '</td>'+
        '<td>'+
        '<input type="button" value="Eliminar"  class="btn btn-danger" id="BotonE'+ContadorTablas2+'"'+ 
        'title="'+AsignaturaDeLaSeccion2+'" name="EliminarAsignaturaSeccion" onclick="ElimnarElemento('+TablaEliminarActual+')" />'+
        '</td>'+
        
        '</tr>'+
        
        '</tbody>'+
        '</table>'+
        '</div>');
        
      ContadorTablas2=ContadorTablas2+1;
          
          
    
}

    });
      
      }
 
   }
  #2 (permalink)  
Antiguo 11/05/2015, 14:49
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años
Puntos: 17
Respuesta: funcion se ejecuta dos veces evento click

porque haces esto?
function ModSeccion(ContenedorBtn)
{

ModificaSeccion2=false;
var ContadorTablas2;
var ProfesorSeleccionado2=[];
var AsignaturaSeleccionada2=[];
var AsignaturasAsignadas2=false;

$(ContenedorBtn+' #BtnModificarAsignturaASeccion').click(function()
{

es decir, porque manejas un evento dentro de la function ModSeccion?
Es para utilizar el parametro ContenedorBtn?
Donde le asignas el valor a ContenedorBtn?

Etiquetas: ejecuta, evento, php, veces
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 23:15.