2009-12-10 4 views
0

Je n'ai pas la moindre idée de comment je devrais réécrire cette jquery afin que je puisse y passer des paramètres. Je veux passer un identifiant dans la fonction donc je le place comme, $(".dialog" + id).Comment passer un paramètre à cette jquery?

je suis goin pour déclencher avec un <a>

$(document).ready(function() {     
    $(".btnCheck").live("click", function(evt) { 
    evt.preventDefault();        
    $(".dialog").dialog({ 
     height: 700, 
     width: 600, 
     closeOnEscape: true, 
     title: 'prev' 
    }).dialog("open"); 
    });   
}); 

Répondre

1

En supposant:.

<input type="button" class="btnCheck" id="btn1" value="Click Me"> 
... 
<div id="dialog-btn1" class="dialog"> 
    ... 
</div> 

vous pouvez faire:

$(function() { 
    $(":button.btnCheck").live("click", function(e) { 
    $("#dialog-" + this.id).dialog({...}); 
    e.preventDefault(); 
    }); 
}); 

Vous remarquerez qu'au lieu de en utilisant un nom de classe dynamique, j'ai donné au div une classe de dialogues, pour en obtenir un spécifique, puisque vous en voudrez seulement un (à la fois), un ID est un meilleur choix (imho). Dans ce gestionnaire d'événements, le gestionnaire de l'événement fait référence au bouton qui a été cliqué, c'est-à-dire à la source de l'événement.

0

Vous devez associer vos boutons avec vous des dialogues en quelque sorte.

Si vous donnez aux boutons une classe de boutons et les boîtes de dialogue une boîte de dialogue de classe. Vous pouvez alors obtenir tout cela dans un tableau et faire une boucle à travers eux le premier bouton dans le tableau activera la boîte de dialogue qui a un ID de dialogue1.

1

en supposant que ce que vous voulez est l'ID de « btnCheck

$(document).ready(function() {     
     $(".btnCheck").live("click", function(evt) { 
      evt.preventDefault();        

      $(".dialog" + $(this).attr("id")).dialog({ height: 700, width: 600, closeOnEscape: true, title: 'prev' }).dialog("open"); 
     });   
    }); 
Questions connexes