2010-08-02 9 views
0

Ceci est mon HTML aide de ActionLink dans la vue:largeur de réglage et de la hauteur de la fenêtre modale de JavaScript/JQuery au code inline ASP.NET MVC

<%=Html.ActionLink(Resources.Localize.Routes_WidgetsEdit, "Edit", Model.ContentType.ToString(), 
new {slug = Model.Slug, modal = true}, 
new { 
     rel = "shadowbox;height=_HEIGHT_;width=_WIDTH_", 
     title = Resources.Localize.Routes_WidgetsEdit, 
     @class = "editWidget" 
})%> 

Il rend ce HTML

<a href="/Tab/Edit/tab-slug/tabgroup-slug?modal=True" rel="shadowbox;height=_HEIGHT_;width=_WIDTH_" title="Edit tab">Edit tab</a> 

Ce que je voudrais faire est d'insérer des valeurs dynamiques pour HAUTEUR et LARGEUR, en JavaScript Je les obtiens comme ceci:

<script type="text/javascript"> 
var width = $(window).width(); 
var height = $(window).height(); 
</script> 

Maintenant, je besoin d'un sélecteur jQuery ou commande pour sélectionner l'attribut « rel » de tous les liens de la page qui sont câblés à Shadowbox (voir valeur shadowbox en rel) et si elles contiennent shadowbox et HAUTEUR et WIDTH remplacez ces deux espaces réservés par des valeurs réelles au moment de l'exécution. La solution devrait être assez bulletproof.

J'espère que ce sera un morceau de gâteau pour tous vos amis. ;)

Répondre

0

Je ne sais pas comment l'épreuve des balles, il est, mais que diriez-vous quelque chose comme ce qui suit:

<html> 
<head> 

    <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script> 
    <script> 
     $(document).ready(function(){ 
      $("a").each(function() 
      { 
       if($(this).attr("rel").length > 0) 
       { 
        if($(this).attr("rel").indexOf("shadowbox;") >= 0) 
        { 
         $(this).attr("rel", "shadowbox;height=" + $(window).height() + ";width=" + $(window).width()); 
        } 
       } 
      }); 
     }); 
    </script> 
</head> 

<body> 

<a href="/Tab/Edit/tab-slug/tabgroup-slug?modal=True" rel="shadowbox;height=_HEIGHT_;width=_WIDTH_" title="Edit tab">Edit tab</a> 

<!-- don't set this one --> 
<a href="/Tab/Edit/tab-slug/tabgroup-slug?modal=True" title="Edit tab">Edit tab</a> 

<a href="/Tab/Edit/tab-slug/tabgroup-slug?modal=True" rel="shadowbox;height=_HEIGHT_;width=_WIDTH_" title="Edit tab">Edit tab</a> 

</body> 

</html> 
+0

Parfait. Par bullletproof je voulais dire qu'il ne ramassera pas d'autres liens qui n'ont pas rel = "shadowbox" mis 99% du temps. Je comprends que votre solution devrait fonctionner 100% du temps. – mare

+0

Génial! Heureux d'avoir pu aider. –