2013-05-02 4 views
-1

J'ai une grille dans laquelle j'affiche plusieurs offres. Chaque transaction a plusieurs sous-contrats. Maintenant, je dois afficher des sous-accords dans un popup fancybox d'un accord respectif sur l'événement de clic. J'ai stocké l'identifiant de transaction dans les données attirbute de l'élément d'ancrage. Maintenant, je suis coincé lors de l'envoi de la requête ajax je ne peux pas passer l'ID de l'accord respectif, car je suis incapable d'obtenir l'élément qui a été cliqué. Voici mon code:Élément initié par Fancybox

$('.deal_parent').fancybox({ 
    href : subDealUrl, 
    ajax : { 
     type  : "GET", 
     data  : 'deal='+{here i want to pass the deal id dynamically}, 
    }, 
    'overlayOpacity' : '0.2', 
    'transitionIn'  : 'elastic', 
    'transitionOut'  : 'fade', 
}); 

J'ai essayé passer là-bas $(this).data('deal') mais il ne marche pas travaillé.

+0

Avez-vous un événement click? – Spokey

Répondre

1

Essayez d'invoquer le fancybox différemment, par exemple .:

$('.deal_parent').click(function() { 
    // NOW YOU CAN USE $(this) 
    $.fancybox({ 
     href : subDealUrl, 
     ajax : { 
      type  : "GET", 
      data  : 'deal='+$(this).data('deal'), 
     }, 
     'overlayOpacity' : '0.2', 
     'transitionIn'  : 'elastic', 
     'transitionOut'  : 'fade', 
    }); 
}); 

Je ne l'ai pas testé, le code peut avoir besoin des ajustements.

+0

'$ (this) .data ('deal')' suppose que vous devriez avoir un attribut 'data-deal =" {something} "' dans votre élément '.deal_parent' ET un' DOCTYPE 'HTML5 de préférence – JFK

+0

OP affiche le balisage, il sera plus clair. – Salman

+0

@JFK oui j'ai un balisage comme celui-ci j'ai mentionné dans le texte –

Questions connexes