2010-10-22 8 views
0

chère à tous, j'ai besoin de combiner deux résultats différents en un seul script. Le problème est comme ceci:jQuery: modal-dialogue avec if

si #edit cliqués -> show dialogue -> cliquez sur le bouton #ok à l'intérieur de dialogue, puis faire fonction:

if($('#user').val() !== "admin" || $('#password').val() !== "qaubuntu") { 
        alert('Invalid login'); 
        return false; 
        } else { 
          $('#dialog').dialog('close'); 
          $('#tabs').show(); 
          $('#editdata').show(); 
          return false; 
          } 

si #del cliqués -> show dialogue -> cliquez sur bouton #ok dans le dialogue, puis faire fonction:

pouvez-vous me montrer comment je fais cela?

Répondre

1

Utilisez une classe pour les liens "openDialog"

var flag=""; 
$(".openDialog").click(function() { 
flag=$(this).attr('id'); 
//now call show dialog here..... 
}); 

à l'intérieur du chèque bouton OK pour le drapeau

if($('#user').val() !== "admin" || $('#password').val() !== "qaubuntu") { 
       alert('Invalid login'); 
       return false; 
       } else { 
         $('#dialog').dialog('close'); 
         $('#tabs').show(); 
         //------------------ 
          if(flag=='edit') 
          $('#editdata').show(); 
          else if(flag=='del') 
          $('#editdata').show(); 
         //------------------- 
         return false; 
         } 
+0

si cela fonctionne pour vous, alors veuillez l'accepter en cliquant sur la coche –

0

Je lierais probablement l'événement click à un sélecteur de classe ou de type plutôt qu'à un ID et j'utiliserais une classe pour différencier les éléments sur lesquels vous avez cliqué.

par exemple

if($(this).hasClass("edit")){ 
    $('#editdata').show(); 
    return false; 
}else{ 
    $('#deletedata').show(); 
    return false; 
} 

Vous pouvez également déplacer les fonctions données montrent deleteData/modifier dans une fonction séparée avec un paramètre que les drapeaux que l'on à afficher.

par exemple

function showDialogue(isEdit){ 
    if(isEdit === true){ 
      $('#editdata').show(); 
      return false; 
    }else{ 
      $('#deletedata').show(); 
      return false; 
    } 
};