2009-10-06 7 views
0

J'ai l'événement suivant deux qui se passe quand mon URL "d'exportation" est cliquée. Peu importe comment j'essaie, je ne peux pas combiner les deux sans recevoir un "hé, il te manque une virgule ou un point-virgule quelque part" -erreur. Quelqu'un peut-il suggérer un moyen de combiner les deux, ou devrais-je juste les laisser séparés comme ils le sont maintenant?Comment faire pour exécuter deux fonctions quand on clique sur une URL

$('#export').click(function() { 
     $.each(gSelectedMeds, 
      function(intIndex, objValue) { 
       i=intIndex + 1; 
       if(i>1) {string+='&';} 
       string+='med'+i+'="'+objValue+'"'; 
      } 
     ) 
      string += "&count="+i; 
    }); 
    $('#export').click(function(){ 
     $.ajax({ 
      url: 'ajax-exportMeds.php?'+string, 
      type: "GET", 
      dataType: "text", 
      success: 
       function(data){ 
        $('#dialog_layer').dialog({ 
         autoOpen: true,       
         bgiframe: true, 
         modal: true, 
         buttons: { 
          "OK": 
           function() { 
            $(this).dialog("close"); 
           } 
         } 
        }) 
       } 
     }) 
    }); 
+0

Il semble que vous ayez plus de problèmes qu'une virgule manquante – scottm

+0

que voulez-vous dire? Où est-ce que je manque une virgule? – acedanger

Répondre

1

Je ne sais pas si cela va le faire, mais la combinaison en une seule fonction élimine la "chaîne" globale qui pourrait vous avoir causé des problèmes.

$('#export').click(function() { 
    $.each(gSelectedMeds, 
    function(intIndex, objValue) { 
     i=intIndex + 1; 
     if(i>1) {string+='&';} 
     string+='med'+i+'="'+objValue+'"'; 
    } 
    ) 

    string += "&count="+i; 

    $.ajax({ 
      url: 'ajax-exportMeds.php?'+string, 
      type: "GET", 
      dataType: "text", 
      success: function(data){ 
       $('#dialog_layer').dialog({ 
       autoOpen: true,             
       bgiframe: true, 
       modal: true, 
       buttons: { 
        "OK": function() { $(this).dialog("close"); } 
        }  
       }) 
      } 
    }) 
}); 
+0

excellente idée aussi bien. J'aime mieux celui-ci. Merci beaucoup!! – acedanger

0

Avez-vous essayé?

function doEach() { 
     $.each(gSelectedMeds, 
       function(intIndex, objValue) { 
         i=intIndex + 1; 
         if(i>1) {string+='&';} 
         string+='med'+i+'="'+objValue+'"'; 
       } 
     ) 
       string += "&count="+i; 
} 

function doAjax(){ 
     $.ajax({ 
       url: 'ajax-exportMeds.php?'+string, 
       type: "GET", 
       dataType: "text", 
       success: 
         function(data){ 
           $('#dialog_layer').dialog({ 
             autoOpen: true,             
             bgiframe: true, 
             modal: true, 
             buttons: { 
               "OK": 
                 function() { 
                   $(this).dialog("close"); 
                 } 
             } 
           }) 
         } 
     }) 
    } 

$('#export').click(function() { 
    doEach(); 
    doAjax(); 
}); 

Vous devriez également mettre des noms significatifs. Bien sûr, vous pouvez refactoriser ce code pour qu'il soit plus facile.

+0

non, je n'ai pas essayé cela – acedanger

+0

cela a bien fonctionné, merci pour l'idée! – acedanger

Questions connexes