Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Agregar (this) a funcion

Estas en el tema de Agregar (this) a funcion en el foro de Jquery en Foros del Web. no e podido agregarle (this) a mi funcion seguro es muy facil pero la verdad que todabia no entiendo muchas cosas de jquery, lo que ...
  #1 (permalink)  
Antiguo 06/09/2013, 14:55
 
Fecha de Ingreso: julio-2013
Mensajes: 158
Antigüedad: 11 años, 4 meses
Puntos: 6
Pregunta Agregar (this) a funcion

no e podido agregarle (this) a mi funcion seguro es muy facil pero la verdad que todabia no entiendo muchas cosas de jquery, lo que necesito es que el siguiente codigo se ejecute en un textare al pulsar enter, pero como tengo varios textarea con el mismo id de hay el porque quiero agregar (this). Si me pudieran ayudar agradeceria muchisimo.

Cita:
$(document).on('keypress', '#fieldEmpty', function(event) { //aqui necesito poner (this)

if ( event.which == 13 ) {
//Aqui un codigo que ejecuto
}

});
  #2 (permalink)  
Antiguo 06/09/2013, 23:14
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 3 meses
Puntos: 23
Respuesta: Agregar (this) a funcion

Hola,

El this va por defecto, es decir, al ingresar a la funcion ya dispones del this

Código:
$(document).ready(function() 
{

       //Aqui le decimos que para el elemento que tenga
       //el ID "fieldEmpty", cuando presionen una tecla ejecute esto
       $("#fieldEmpty").on('keypress',  function(event) {

                //Ya podemos ocupar this si lo necesitamos

               if ( event.which == 13 ) {
                  alert( $(this).id );
              }
        });

});
Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)
  #3 (permalink)  
Antiguo 07/09/2013, 13:12
 
Fecha de Ingreso: julio-2013
Mensajes: 158
Antigüedad: 11 años, 4 meses
Puntos: 6
Respuesta: Agregar (this) a funcion

Talvez no fui muy claro tengo el siguiente codigo:

Código:
$(document).on('keypress', '#fieldEmpty', function(event) {
		 
    if ( event.which == 13 ) {
			
    event.preventDefault();
    var idPublication = $(this).parent().attr('data');
    var Comment = $("textarea#fieldEmpty").val();
		
    if (Comment.length==0) {
        alert("¡Vamos llena el campo no puede estar vacio!");
        Comment.focus();
        return false;
	} 
		
    var User = $("input#setUserComment").val();
    var dataString = 'Comment='+ Comment +'&idPublication=' + idPublication;
			 
        $.ajax({
            type: "POST",
            url: "addComent.php",
            data: dataString,
            success: function(data, textStatus, XMLHttpRequest) {
				
			var	respuesta =  '<div class="section-comments">'+
                                 '<div class="box-photo-profile-comment">'+
                                    '<img src="Topic/images/T_Profile.png" width="35" height="35" />'+ 
                                 '</div>'+ 
                                    '<div class="samplebook-comment">'+
                                       '<a href="profile.php" class="name-profile-comment">'+User+'</a>'+ '<a class="body-comment">'+' '+Comment+'</a>'+
                                    '</div>'+
                                       '<div class="actions-comment">'+
                                          '<a class="comment-like">'+'Me Gusta'+'</a>'+' '+'Hace 2 minutos'+
                                       '</div>'+
                              '</div>';
								 
	$("#Comment-reply").append(respuesta);
		    
			
	 $('#addComment').each (function(){
         this.reset();
         });     
				
            }
        });
        return false;
		}
    });

que basicamente lo que hace es enviar, validar y limpiar un formulario este lo uso para un sistema de comentarios de una noticia, mi problema esque simpre me marca que el campo esta vacio, amenos que envie el comentario de la primera noticia, a lo que llegue a la conclusion como hay varias noticias y varios campos para llenar un comentario, y logicamente todos tienen el mismo id pues este codigo me le el campo de la primera noticia que encuentra.

La solucion que me implemente fue usar (this) en $("textarea#fieldEmpty").val() pero como tengo entendido para usar (this) el id debe ser unico pues es la razon por la cual no puedo solucionarla ¿talvez si uso un atributo data en vez de id? como podria hacerlo Gracias.

en conclusion necesito usar (this) en $("textarea#fieldEmpty").val() atravez de un data en lugar de id.

Etiquetas: javascript
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 13:39.