2009-10-14 7 views
0

J'utilise une boîte de dialogue jQuery UI mais au lieu de dupliquer la configuration de la boîte de dialogue 5 fois, je me demandais si je pouvais transmettre l'identifiant div comme paramètre dans le document.ready() appeler ou quand j'appelle la div en question?Passer les paramètres dans les appels document.ready()

Par exemple>

$(document).ready(function(){ 

$(function() { 
    location.hash = 'PAGETOP'; 
}); 

    $("#dialogou").dialog({ 
      autoOpen: false, 
      closeOnEscape: false, 
      resizable: false, 
      modal: true, 
      draggable: true, 
      position: ["center", 100], 
      buttons: { 
       'Ok': function() {    
         $(this).dialog("close"); 
         closeReq(); 
        } 
     } 
    }); 
}); 

Ainsi, en fonction de ce qui précède, si je donne les résultats suivants si la condition:

if (document.getelementbyId("ERROR_OU").value == "Y") 
    $('#dialogou').dialog('open'); 

Je voudrais être en mesure de changer l'ID div dilaogou à dialogao mais toujours utiliser le même appel ci-dessus mais évidemment échanger dilaogou à dilaogao.

Est-ce possible? Si c'est le cas, apprécierait de l'aide.

Merci.

Répondre

2

Il suffit de faire un sélecteur qui correspond à l'un des id: s lorsque vous effectuez l'initialisation:

$("#dialogou, #dialogao, #dialogxx, #dialogyy, #dialogzz").dialog({ 
... 

Maintenant, vous avez la boîte de dialogue mis en place pour tous les éléments, et vous pouvez appeler dialogue (« ouvert ») sur l'un d'eux.

0

Que diriez-vous à l'aide d'un tableau:

$(document).ready(function(){ 

var dialog_ids=['dialogou', 'dialaogao']; 

$(function() { 
    location.hash = 'PAGETOP'; 
}); 

for(id in dialog_ids) 
{ 
     $("#"+dialog_ids[id]).dialog({ 
       autoOpen: false, 
       closeOnEscape: false, 
       resizable: false, 
       modal: true, 
       draggable: true, 
       position: ["center", 100], 
       buttons: { 
        'Ok': function() {    
          $(this).dialog("close"); 
          closeReq(); 
         } 
      } 
     }); 
    }); 
} 
Questions connexes