2010-12-22 5 views
0

J'ai le ci-dessous html. Pourriez-vous me dire comment utiliser jquery pour faire une boucle sur chaque div de query_chunk et lier différents événements à chaque élément à l'intérieur de la div?jquery boucle à travers divs et lier des événements

Je sais que je peux utiliser la fonction .each, mais je suis bloqué sur la syntaxe. Toutes les idées ont apprécié.

   <div id="query_chunk_1"> 
        <select class="parameter" id="parameter_1" name="parameter_1"> 
         <option title="Keyword Anywhere" value="Anywhere">Keyword Anywhere</option> 
         <option title="Author or Contributor" value="Contributor">Author or Contributor</option> 
         <option title="Title" value="Title">Title</option> 
         <option title="Subject" value="Subject">Subject</option> 
        </select> 
        <input id="keyword_1" name="keyword_1" type="text" /> 
        <a href="#" id="remove_1" title="Remove">[-] 
         </a> 
       </div> 
       <div id="query_chunk_2"> 
        <select class="parameter" id="parameter_2" name="parameter_2"> 
         <option title="Keyword Anywhere" value="Anywhere">Keyword Anywhere</option> 
         <option title="Author or Contributor" value="Contributor">Author or Contributor</option> 
         <option title="Title" value="Title">Title</option> 
         <option title="Subject" value="Subject">Subject</option> 
        </select> 
        <input id="keyword_2" name="keyword_2" type="text" /> 
        <a href="#" id="remove_2" title="Remove">[-] 
         </a> 
       </div> 

Répondre

4
mots-clés Partout Auteur ou contributeur Titre Sujet [-]
  <div id="query_chunk_2" class="con"> 
       <select class="parameter" id="parameter_2" name="parameter_2"> 
        <option title="Keyword Anywhere" value="Anywhere">Keyword Anywhere</option> 
        <option title="Author or Contributor" value="Contributor">Author or Contributor</option> 
        <option title="Title" value="Title">Title</option> 
        <option title="Subject" value="Subject">Subject</option> 
       </select> 
       <input id="keyword_2" name="keyword_2" type="text" /> 
       <a href="#" id="remove_2" title="Remove">[-] 
        </a> 
      </div> 


$(function() { 
    $("div.con").each(function() { 
      $(this).live('eventname', functionname); 
    }); 
}); 

Veuillez également prendre note que j'ai ajouté des cours aux divs. Vous pouvez également lier à un événement à l'aide .bind au lieu de .live

$(this).bind('eventname',function(event){alert('Hi there!');}); 

Notez également le dans le premier exemple, j'ai utilisé « functionname où il est une fonction réelle sur votre fichier de script, mais dans le cas de liaison i intégré la .. fonction dans la syntaxe Vous pouvez utiliser tout Vous pouvez même avoir;

$(this).live('eventname',function(event){alert('Hi there!');}); 

Mise à jour # 1

pour lier à des contrôles individuels utilisent:

$(function() { 
     $("div.con").each(function() { 
       $(this).find("elementId").live('eventname', functionname); 
     }); 
    }); 
+0

merci, mais comment lier différents événements à des contrôles individuels à l'intérieur de la div? Par exemple, je dois lier un événement 'change' pour les événements dropdown et 'keyup' et 'mouseup' à la zone de texte? – itsbalur

+0

J'ai fait une mise à jour. Vous devez utiliser la fonction de recherche. – Tebo

+0

merci encore. Je n'arrive pas à faire fonctionner ça, qu'est-ce qui ne va pas? $ ("div.con"). each (function (index) {$ (this) .find ("remove_2"). live ("clic", function() {alert ("événement cliqué");}); – itsbalur

Questions connexes