2010-12-22 3 views
0

Ich habe die unten html. Können Sie mir sagen, wie benutze ich jquery, um jedes query_chunk divs zu durchlaufen und verschiedene Ereignisse an jedes Element innerhalb des div zu binden?jquery Schleife durch Divs und Ereignisse binden

Ich weiß, ich kann die .each-Funktion verwenden, aber bin auf der Syntax fest. Irgendwelche Ideen geschätzt.

   <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> 

Antwort

4
Stichwort überall Autor oder Anbieter Titel Betreff [-]
  <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); 
    }); 
}); 

beachten Sie auch, dass ich Klassen zu dem divs hinzugefügt. Sie können auch auf ein Ereignis binden statt .live

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

auch die Anmerkung in dem ersten Beispiel verwendet werden .bind i verwendet „funktionsname, wo es eine tatsächliche Funktion auf Ihrer Skriptdatei ist aber in dem bind Fall i eingebettet die .. Funktion in der Syntax Sie jede verwenden können, können Sie auch haben;

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

Update # 1

an einzelne Kontrollen binden verwenden:

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

danke, aber wie binde ich verschiedene Ereignisse an einzelne Steuerelemente innerhalb der div? Zum Beispiel muss ich ein 'change' Ereignis für das Dropdown- und 'keyup' und 'mouseup' Ereignis an die Textbox binden. – itsbalur

+0

Ich habe ein Update gemacht. Sie müssen die Suchfunktion verwenden. – Tebo

+0

danke nochmal. Ich werde das nicht zur Arbeit bringen, was könnte falsch sein? $ ("div.con"). je (Funktion (Index) {$ (this) .find ("remove_2"). live ("click", function() {alert ("Klick-Ereignis ausgelöst");}); – itsbalur