HIIIILFEEEEE - angeklickte Checkboxen auszählen
Gunar
- javascript
Hallo, ich habe ein php script das inhalte aus einer datenbank ausliest. diese inhalte (artikel) sollen aufgelistet werden und mit checkboxen markiert werden können. funktioniert alles wunderbar.
for ($i=0; $i<$count; $i++)
{
$sql = "SELECT preis FROM content_details WHERE id_content='".$data[$i]["id"]."'";
$result = mysql_query($sql, $conn);
$data2 = mysql_fetch_array($result);
echo "<tr>
<td class='tbl_body'>".$data[$i]["name"]."</td>
<td class='tbl_body'>".$data[$i]["nummer"]."</td>
<td class='tbl_body' align='right'>".$data2["preis"]." </td>
<td class='tbl_body' align='center'><input onclick='javscript:selectthis(this, ".$count.");' type='Checkbox' name='content' value='".$data[$i]["id"]."' style='border: 0;'></td>
<td class='tbl_body'><input class='button' type='Button' onclick=javascript:window.open('?request=kurs_details&content=".$data[$i]["id"]."','_self') value='anzeigen'></td>
</tr>";
$sum+=$data2['preis']; // ermittelt den preis aller contents
}
nun habe ich aber mehrere probleme. zum einen muss ich irgendwie an den warenkorb die anzahl der angeklickten checkboxen weitergeben und zum anderen möchte ich, das wenn alle checkboxen geklickt sind, automatisch eine weitere checkbox aktivieren lassen.
ich hatte dies schon einmal gepostet und auch hilfe dazu erhalten. die tipps waren schon sehr gut, doch ich komme damit einfach nicht zurecht. vielleicht hat jemand noch ne möglichkeit mir dies genauer zu erläutern. ich habe folgendes versucht:
function selectthis(thisbox, count, anzahl) // http://forum.de.selfhtml.org/?t=75349&m=434238
{
if (anzahl)
{
if(thisbox.checked == true)
{
anzahl = anzahl+1;
return anzahl;
}
else
{
anzahl = anzahl-1;
return anzahl;
}
}
else
{
var anzahl=0;
if(thisbox.checked == true)
{
anzahl = anzahl+1;
return anzahl;
}
}
if (anzahl == count)
{
document.formular.content_alle.checked = true;
}
else
{
document.formular.content_alle.checked = false;
}
}
function selectall(thisbox)
{
if(thisbox.checked == false)
{
var i=0;
while(document.formular.elements[i])
{
if (document.formular.elements[i].type == "checkbox")
{
document.formular.elements[i].checked = false;
}
i++;
}
}
else
{
var i=0;
while(document.formular.elements[i])
{
if (document.formular.elements[i].type == "checkbox")
{
document.formular.elements[i].checked = true;
}
i++;
}
}
}
hi,
erstmal: http://learn.to/cooldown
ich hatte dies schon einmal gepostet und auch hilfe dazu erhalten. die tipps waren schon sehr gut, doch ich komme damit einfach nicht zurecht. vielleicht hat jemand noch ne möglichkeit mir dies genauer zu erläutern.
der thread [pref:t=75349&m=433953] ist durchaus noch erreichbar, warum fragst du nicht dort nach?
gruss,
wahsaga
gruß zurück,
weil das so weit unten in der liste steht und ich angst habe das es niemand mehr liest. denke ich da etwa falsch?
nichts desto trotz habe ich deine antwort gelesen. habe aber ein problem mit dem verständnis. ich bekomm das einfach nicht hin, habe auch nicht so viel ahnung. wenn ich den wert zurückliefere
return anzahl;
dann weiß ich nicht, wie ich auf der seite damit umgehen soll, damit er diesen wert dann wieder nimmt um dort weiter zu zählen. ich bekomme es halt einfach nicht gebacken.
freue mich das du so aktiv bist, vielleicht kannst du mir ja noch etwas unter die arme greifen?
gruß gunnar
hallo @all!
hoffe das noch jemand helfen kann?
für alle die es interessiert, so funzt es ...
// in anzahl wird beim Funktionsaufruf die anzahl der vorhanden
// checkboxen übergeben und in chkbox der wert "this"
var cntChecked = 0;
function zaehle(chkbox, anzahl)
{
if (chkbox.checked)
{
cntChecked = cntChecked + 1;
}
else
{
cntChecked = cntChecked - 1;
}
//alert(cntChecked, anzahl)
if (anzahl == cntChecked)
{
document.formular.content_alle.checked = true;
}
else
{
document.formular.content_alle.checked = false;
}
}
function selectall(thisbox)
{
if(thisbox.checked == false)
{
var i=0;
while(document.formular.elements[i])
{
if (document.formular.elements[i].type == "checkbox")
{
document.formular.elements[i].checked = false;
cntChecked = 0;
}
i++;
}
}
else
{
var i=0;
while(document.formular.elements[i])
{
if (document.formular.elements[i].type == "checkbox")
{
document.formular.elements[i].checked = true;
cntChecked = 0;
}
i++;
}
}
}
Vielen Dank für die Hilfe
Gruß
Gunnar