27. maj 2012 - 23:10
Der er
11 kommentarer og 1 løsning
Clickable tabel-række
I disse smartphone og iphone-tider er radio-buttons ikke længere populære. Jeg vil derfor ændre mine radio-buttons til tabel-række-klik. Jeg er begyndt: <script type="text/javascript"> function ChangeColor(tableRow, highLight) { if (highLight) { tableRow.style.backgroundColor = '#dcfac9'; } else { tableRow.style.backgroundColor = 'white'; } } </script> <body> <form name="gaa" action="gpxviewer.php" method="GET"> <br> <?php include("gpsadmin/conn.php"); echo "<table border=0>"; $tur = mysql_query ("SELECT * FROM $vandreture ORDER BY dato or die(mysql_error()); if(mysql_num_rows($tur) > 0) { while($a = mysql_fetch_object($tur)) { $turid = $a -> id; $turd = $a -> dato; $maal = $a -> titel; $turdate = date('d-M-Y',strtotime($turd)); $gpx = $a -> sted; $km = $a -> km; echo "<tr onmouseover='ChangeColor(this, true);' onmouseout='ChangeColor(this, false);'>"; echo "<td valign='top' width='90'></td>"; echo "<td valign='top' width='5'><input onclick='this.form.submit();' type='radio' name='gpstur' value='$turid'></td>"; echo "<td valign='top' width='5'></td>"; echo "<td valign='top' width='100' align='left'>$turdate</td>"; echo "<td valign='top' width='200' align='left'>$maal</td>"; if ($km != 0) { echo "<td valign='top' width='15' align='right'>$km</td>"; echo "<td valign='top' width='15' align='right'>km</td>"; } echo "</tr>"; } } echo "</table>"; ?> -men hvordan skal jeg få det til at virke på en enkelt række i tabellen?
Annonceindlæg tema
Cloud & AI
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Hvis det kun skal virke på en enkelt række i tabellen, skal du vel kun have onmouseover og onmouseout med i den bestemte række? Kan du uddybe det lidt?
Onmouseover og onmouseout markerer kun rækken. Selve handlingen skal udføres når man klikker på et vilkårligt sted på rækken.
du kan lave en onclick i din <tr>
Ja, men for at den skal få alle data med til næste side skal en have samme egenskaber som en submit.
I stedet for radio, er det så ikke "bare" en <select>...</select> ? Den virker i hvert fald godt på smartphones.
Skal der sendes andet med ud over den valgte $turid?
<ole> Du kan enten bruge en SELECT, som jakobdo foreslår - eller du kan bruge en onclick, som tilaffald foreslår. Gør du det sidste, må du i et script samle data fra de enkelte celler og strikke en querystreng sammen, som du kalder din nye side med. /mvh </bole>
Det blev tilaffald der gav inspirationen: echo '<tr onmouseover="ChangeColor(this, true)"; onmouseout="ChangeColor(this, false)"; onClick="location.href=\'gpxviewer.php?gpstur='.$turid.'\'">'; echo "<td valign='top' width='100' align='left'>$turdate</td>"; echo "<td valign='top' width='200' align='left'>$maal</td>"; if ($km != 0) { echo "<td valign='top' width='15' align='right'>$km</td>"; echo "<td valign='top' width='15' align='right'>km</td>"; } echo "</tr>"; Læg et svar.
27. juni 2012 - 20:38
#10
Den kode resulterer da i dårlig/invalid HTML-kode. Vil du ikke ende op med rækker med henholdsvis 2 og 4 celler - i samme tabel?
30. juni 2012 - 21:21
#11
Joo! Hvis $km = 0. Det havde jeg ikke lige tænkt på. Tak for dit skarpe blik.
01. juli 2012 - 15:27
#12
*o)
Vi tilbyder markedets bedste kurser inden for webudvikling