variablen von <li> nach href="#anderes_div" übergeben
ralphi
- javascript
Halloo Leute,
ich hab eine grundsätzliche Frage zu Variablen in JQuery (div's).
bis jetzt hab ich alles in php gelöst und nicht wirklich ahnung, wie ich eine Variable über div's transportiere.
ich habe eine Liste <ul> mit song namen, cover etc (mit php generiert)
echo"<li class='lieder ui-widget-content ui-corner-tr'>\n";
echo"<h5 class='ui-widget-header'>" . $name . "</h5>\n";
echo"<img src='img_min/" . $name2 . ".jpg' alt='" . $name . "' width='100' height='100' />\n";
echo"<a href='#loeschen' title='Del' class='ui-icon ui-icon-close'></a>\n";
echo"<a href='" . $name2 . ".mp3' title='Zum Download: rechte Maustaste - Link speichern unter!!' class='ui-icon ui-icon-arrow'></a>\n";
echo"<a title=\"Play song\" onclick=\" spiele ('" . $song . "', '" . $cover . "'); \"class=\"ui-icon ui-icon-play\"></a>\n";
echo"</li>\n";
wobei
$name der song ist
$name2 das ganze mit addslashes()
$cover ein großes bild
auf der HD hab ich:
artist - song.mp3
artist - song.jpg
img_min/artist - song.jpg
unter play song, geh ich zur JS function spiele(song,cover) und kann da die php variablen einfach übergeben
echo"<a title=\"Play song\" onclick=\" spiele ('" . $song . "', '" . $cover . "'); \"class=\"ui-icon ui-icon-play\"></a>\n";
und spielen:
$("audio").attr("src",song);
bei delete song, möchte ich ein data-role="panel" mit href='#loeschen' öffnen.
jetzt weis ich nicht, wie ich die php var in das div #loeschen bekomme. in dem pannel, möchte ich dann einen button zu einer Ajax-funktion (löschen mit php) machen und das lied <li> ausblenden.
eventuell bau ich auch noch ein menue für play, downoad und delete mit
<div data-role="popup" id="popupMenu" data-theme="d">
<ul data-role="listview" data-inset="true" style="min-width:210px;" data-theme="d">
<li><a href="#" onclick="ajax_zeug(?)">Delete</a></li>
<li> .. </li>
</ul>
</div>
wobei ich hier auch die var $song brauche!
mit 'this' bekomme ich doch nur das <a> element oder die <div> id von der liste wo ich draufklicke, oder?
ich bräuchte aber den songnamen 'artist-song'.
Warscheinlich gehts ganz einfach - aber noch nie gemacht.
Grüße aus LA (Landshut)
ralphi
PS: Bei uns ist wieder LAHO. (alle 4 Jahre). Halloo kann man schon nicht mehr hören ;-)
also folgendes umständliches ist mir noch eingefallen:
ich könnte natürlich die var mit onclick=("function('" . $song . "') ")einer 'normalen' JS function(song) übergeben und als attribute an das andere div übergeben.
geht das auch mit Jquery direkt?
$("div1").click ( irgendwas mit var dieser_song );
ralphi
Hallo,
als erstes, bevor irgendwelche Lösungsansätze kommen: Worüber kannst du den Song zum Löschen eindeutig identifizieren und hast du diese Information in deinen PHP-Variablen?
vg ichbinich
Worüber kannst du den Song zum Löschen eindeutig identifizieren und hast du diese Information in deinen PHP-Variablen?
// verzeichnis von Covern = songs, im anderen Verzeichnis
// songs vom Radio aufgenommen
// artist - songname.mp3 bzw jpg
$alledateien = scandir('/mnt/HD_a2/music/img_min'); //Ordner "files" auslesen
sort($alledateien);
foreach ($alledateien as $datei) { // Ausgabeschleife
$teilen=explode(".jpg",$datei);
$name=$teilen[0];
// name = songname
usw.
jetzt bau ich mir ein div mit
// der name im song-kästchen:
echo"<h5 id='songname' class='ui-widget-header'>" . $name . "</h5>\n";
jetzt klick ich auf zB löschen
echo"<span id='loeschen_click' title='Del' class='ui-icon ui-icon-close'></span>\n";
jetzt hab ich folgendes probiert:
~~~javascript
$("#loeschen_click").click(function(){
$("#loeschen p").text(function(){
$("#songname").text();
});
$("#loeschen").trigger();
});
#loeschen = panel div
klappt aber noch nicht - irgendwo ist da noch ein Fehler?
Hallo,
probiers mal so:
$("#loeschen_click").click(function(){
$("#loeschen p").text($("#songname").text());
$("#loeschen").trigger();
});
vg ichbinich
probiers mal so:
$("#loeschen_click").click(function(){
$("#loeschen p").text($("#songname").text());
$("#loeschen").trigger();
alert("hallo");
});
reagiert nicht auf klick
echo"<span id='loeschen_click' title='Del' class='ui-icon ui-icon-close'></span>\n";
gibts auch einen anderen tag ausser <p> <span> den ich für das icon eine id geben kann, ohne die formatierung zu ändern?
Hallo,
$("#loeschen_click").click(function(){
$("#loeschen p").text($("#songname").text());
$("#loeschen").trigger();
alert("hallo");
});
Wann wird das bei dir aufgerufen? Existiert zu diesem Zeitpunkt span#loeschen\_click bereits?
> reagiert nicht auf klick
reagiert nicht auf click oder passiert nur nichts? Mal ein alert() ausprobiert?
> gibts auch einen anderen tag ausser <p> <span> den ich für das icon eine id geben kann, ohne die formatierung zu ändern?
Du kannst jedem Element eine id geben.
vg ichbinich
--
Kleiner Tipp:
Tofu schmeckt am besten, wenn man es kurz vor dem Servieren durch ein saftiges Steak ersetzt...