Fancybox - ID abrufen

FNFlorian

Grünschnabel
Hallo zusammen,

ich nutze für eine Website nun die Fancybox, habe dort Bilder welche für die Fancybox verlinkt wurden, in dem a href steckt eine id, diese ID brauche ich in der Fancybox um dort einen Link zusammen zu "bauen".

Hier der Code:
PHP:
echo"
                <div class='col-md-3'>
                    <div class='box'>
                        <a class='fancybox' rel='group' href='".$row['url']."' id='".$row['id']."' name='".$row['id']."'><img src='".$row['url']."' style='width: 150px;height: 150px;'></a><br />
                        <b>#".$row['id']."</b><br />
                        <a rel='group' href='".$row['url']."' class='btn btn-xs btn-default fancybox'><span class='glyphicon glyphicon-zoom-in'> Vergrößern</a><br />
                        <a href='' class='btn btn-xs btn-primary' target='_blank'><span class='glyphicon glyphicon-download'> Download</a>
                    </div>
                </div>
            ";

In diesen Codesnipsel werden die einzelnen Links zusammengestellt bzw. aus einer MySQL Datenbank ausgelesen, am Ende stehen X Einträge neben/untereinander.

Und auf der Seite wo die Ausgabe stattfindet ist folgendes Javascript:

Javascript:
<script type="text/javascript">
            $(".fancybox").fancybox({
                afterLoad: function() {
                    this.title = '<div style="text-align:center;"><a href="/' + this.id + '/download.html" class="btn btn-primary"><span class="glyphicon glyphicon-download"> Download</a></div>';
                },
                helpers : {
                    title: {
                        type: 'inside'
                    }
                }
            });
        </script>

Und hier brauche ich zwischen den beiden Shlash's vor download.html die ID aus dem a href oben.


Wie setze ich das am besten um?

Grüße
Florian
 
Du findest die ID unter
Code:
current.element.attr("id")
wenn Du current als Parameter des Callback definierst:
Code:
                afterLoad: function(current, previous) {
                    this.title = '<div style="text-align:center;"><a href="/' + current.element.attr("id") + '/download.html" class="btn btn-primary"><span class="glyphicon glyphicon-download"> Download</a></div>';
                },
http://jsfiddle.net/Sempervivum/fdnjdnrb/1/
 
Oder per jQuery
Code:
$(this).attr('id');
oder
Code:
$(this).prob('id');

Die Frage ist nur warum übergibst du die ID nicht als Variable von PHP an das JS weiter?
 
Hast Du das getestet, Jan-Frederik? Ich schon und ich kann weder unter this noch unter current eine ID finden.
BTW: Mein Ausdruck ist ebenfalls jQuery (Funktion attr()).
 
Die Variante von Sempervivum hat funktioniert, danke :)

@Stieler: Die ID übergebe ich nicht via PHP weil mir hier die Idee der Umsetzung fehlt, denn ich habe aktuell 8 Links die diese Javascript function ansprechen.
 
Mit PHP wird es nicht gehen, weil in deinem Fall die ID dynamisch ist und jedes Mal eine andere ist, je nachdem, welches Bild geklickt wurde.
 

Neue Beiträge

Zurück