ugrás a tartalomhoz

Archívum - Szep 8, 2014

jQuery click eventre this átadása

gtoma · 2014. Szep. 8. (H), 14.07
Van egy gyakorlati, és elvi kérdésem. Izzaszt a dolog már rég óta.
A jelenlegi problémámon keresztül tenném fel a kérdést.

Van egy javascript funkcióm:

var mcChoser = function(args) {
    for (arg in args) { this[arg] = args[arg]; }

    this.Start = function() {
        console.log('start', this.ID);
        self = this;
        $jq('#'+ this.ID +' a').click(function(e){ self.Chosed(e); });
    }

    this.Chosed = function(e) {
        console.log( this );
        if( this.multiple == true ) { $jq(e.currentTarget).toggleClass('active'); }
        else {
            var vane = $jq(e.currentTarget).hasClass('active');
            $jq('#'+this.ID+' a.active').removeClass('active');
            if( vane == false ) { $jq(e.currentTarget).addClass('active'); }
        }
        this.setValues();
    }

    this.setValues = function() {
        var List = $jq('#'+ this.ID +' a.active');
        var HTML = '';
        $jq('#'+this.ID + ' [name="'+ this.inputname +'"]').remove();
        if( List.length > 0 ) { for(i=0; i<List.length; i++) { HTML += '<input type="hidden" name="'+ this.inputname +'" value="'+ $jq(List[i]).data('data') +'">'; } }
        $jq('#'+ this.ID).append(HTML);
    }

    this.Start();
}
Elméletileg működik a dolog.