Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500

    [jQuery] Problema creazione plugin

    Salve ragazzi, premetto che mi sono già sfogliato le prime due pagin di google per istruirmi sulla creazione di plugin ma non è stato abbastanza.

    Questa è la mia situazione.
    codice:
    <div class="dyntable">
         First table
         <table ...
    </div> 
    <div class="dyntable">
        Second table
        <table ...
    </div>
    Ora sto creando un plugin che mi permette di gestire queste due tabelle facendo solamente

    codice:
    jQuery(document).ready(function(){
         $('.dyntable').dynTable();
    }
    Nel plugin che sto creando vorrei salvarmi il padre ossia il div .dyntable all'interno di una variabile, così ogni qualvolta si scatena un evento di un oggetto contenuto al suo interno posso gestire tutta la tabella.

    Come faccio?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice:
        $.fn.tuoPlugin = function () {
            ...
            return this.each(function () {
                var $parent = $(this).parent();
                ...
            })
        }

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Ma la variabile $parent poi posso utilizzarla anche all interno di eventi o no?

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    eventi che setti in quel plugin

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Si esatto, ma se ci sono due tabelle, quando scateno l evento su di una tabella, il $parent è quello relativo a quella tabella?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Ho testato come mi hai detto ma mi esce questo errore:

    codice:
    ReferenceError: $parent is not defined

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    no no, posta tutto
    non ho tempo di ricostruire il tuo errore

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    codice:
    (function($) {
        jQuery.fn.dynTable = function(options) {
    		var defaults = {  
    			
    		};  
    		var options = $.extend(defaults, options);  
    
    		_fnBindAction = function(obj, action, fn ){
    			$(obj).bind(action, fn);
    		}
    		
    		_fnChangeLength = function(){
    			alert($parent.html());
    		}
    
    		return this.each(function(){
    			var $parent = jQuery(this);
    						
    			_fnBindAction(jQuery(this).find(".dataTables_length select"),'change',_fnChangeLength);
    		})
    		
    		
    		return this;
        }
    })(jQuery);

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sposta la funzione fnChangeLength nel return

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    E non si puo evitare di scrivere la funzione all interno del return e ottenere lo stesso risultato?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.