2010-12-22 3 views
0

Je tente de construire un constructeur de requête de recherche avancée basé sur jquery. La version en direct de la conception construite en utilisant le framework MooTools est ici http://opl.bibliocommons.com/searchjquery: lie dynamiquement les événements pour former des éléments

Maintenant, au problème, j'ai un div avec les contrôles qui doit être créé dynamiquement sur le bouton "Ajouter plus". Une fois la nouvelle div créée, j'ai besoin de lier les événements aux contrôles à l'intérieur de la div.

La version Mootools du code est comme ci-dessous:

add_query_part: function(ev) { 
    if(ev) ev.stop(); 
    this.query_chunks[0].addClass('removable'); 
    var query_chunk = this.query_chunks[0].clone().set({'class': 'query_chunk query_piece','id':"query_chunk_"+(++this.term_count)}).inject($('query_parts')); 
    var search_param_select = query_chunk.getElement('select').set({ 
     'class': 'parameter', 
     'id':'parameter_'+this.term_count, 
     'style': 'margin-right:3px' 
    }); 
    var keyword = query_chunk.getElement('input[type=text]').set({ 
     'class': 'operand text', 
     'id':'keyword_'+(this.term_count), 
     'style':'margin-right:3px', 
     'value': '' 
    }); 
    var remove_btn = query_chunk.getElement('a').set({ 
     'class': 'remove_btn', 
     'id':'remove_'+(this.term_count) 
    }); 
    $("query_chunk_"+this.term_count).addClass('removable'); 

    this.query_chunks.push(query_chunk); 
    remove_btn.addEvent('click', this.remove_query_part.bindWithEvent(this)); 
    keyword.addEvent('keyup', this.construct_query.bindWithEvent(this)); 
    keyword.addEvent('mouseup', this.construct_query.bindWithEvent(this)); 
    search_param_select.addEvent('change', this.construct_query.bindWithEvent(this)); 
    return query_chunk; 
    }, 

Répondre

Questions connexes