Ich habe z.b 5 Beiträge und jeder der Beiträge soll den Counter 0 haben.(Bzw für jedes Form-Feld soll 0 gesetzt werden.)
Ich habe hier mal 2 Beiträge:
form-list-1
Beitrag: Hallo
button
form-list-2
Beitrag: Hi
button
Wenn ich jetzt auf form-list-2 button klicke, soll er den Counter +2 nehmen und speichern. Wenn ich nochmal drauf klicke, ist der Counter ja auf 4. Wenn ich jetzt auf form-list-1 klicke, soll der Counter 2 sein.
Das Problem ist, wie definiere ich die Variable Counter für jedes form-Feld?
Eine Methode, wie du dein Vorhaben umsetzen könntest:
Gib jeder Form noch ein zusätzliches Element (unsichtbares Input-Feld) und speichere dort den Count. Alternativ könntest du es noch mit einem Array lösen, aber die Variante ist wohl "einfacher".
$('.box-form button').click(function(){
var nVal = parseInt($(this).next().val()) + 2;
$(this).next().val(nVal);
});
Im Grunde genommen ist es ein Click-Event für jeden Button in einem Element mit der Klasse "box-form". Dort holt sich der Code mithilfe von die Value des Elementes "neben" dem Button und addiert eine Zahl drauf. Anschließend wird die Value im Input-Feld geändert.
PS: Nutz . Erleichtert dir dein Leben um einiges.
PPS: Hab den Code nicht getestet, müsste aber klappen. Das Prinzip sollte auf jeden Fall ersichtlich sein.
Wahrscheinlich ist deine Variable 'counter' tatsächlich einfach nicht definiert.
Habe das einfach mal kurz zusammengeworfen; macht doch eigentlich genau das, was es soll, wenn ich dich richtig verstanden habe? M.M.n. gibt es, sofern es lediglich um eine solch simple Aufgabe geht, keinen Grund die komplette jQuery-Lib zu laden. ¯\_(ツ)_/¯
Ich möchte die Variable Counter noch per POST weitergeben.
z.b
SELECT * FROM comments LIMIT $counter;
Das ich dann immer weitere anzeigen kann.
Wenn ich jetzt, wie ihr unten bei "data: .. " sieht, counter einfüge, sagt er mir dass Counter nicht definiert ist. Ich habe nach (document).ready.. den Code von type. geschrieben. Es müsste doch dann schon deklariert sein oder nicht?
Das liegt daran, dass du die Variable "counter" immer noch nicht definiert hast. (zumindest nicht global)
Wie auch immer, du kannst sie sowieso nicht übergeben, da in einer Variable nicht mehrere Werte reinpassen.
Wenn du für Block A einen Count von 44 hast und für Block B einen Count von 66, kann das nicht alles in "counter" addiert/gespeichert werden. (es sei denn du möchtest das)
Du musst dir den Count entweder über das Input-Feld (wenn du mein Beispiel nutzt) oder über das Span-Element (wenn du types Beispiel nutzt) holen.
Das liegt daran, dass du die Variable "counter" immer noch nicht definiert hast. (zumindest nicht global)
Wie auch immer, du kannst sie sowieso nicht übergeben, da in einer Variable nicht mehrere Werte reinpassen.
Wenn du für Block A einen Count von 44 hast und für Block B einen Count von 66, kann das nicht alles in "counter" addiert/gespeichert werden. (es sei denn du möchtest das)
Du musst dir den Count entweder über das Input-Feld (wenn du mein Beispiel nutzt) oder über das Span-Element (wenn du types Beispiel nutzt) holen.
Hi,
ich hab es mal so versucht, doch er nimmt es immernoch nicht +2.
Es kommt auch keine Fehlermeldung.
HTML:
Ja, pass mal auf, du hast da bisschen was verwechselt und doppelt gemoppelt.
Du hast die .find() Funktion falsch genutzt. Wenn du in der Funktion selbst mit einem Punkt anfängst, selektierst du Klassen. (Mit einem Hashtag selektierst du IDs)
Dein
Code:
var change = $(this).find('.counter-'+value+'')
macht also keinen Sinn, da es keine Klasse, sondern ein name-Attribut ist. Selektieren musst du es so:
Des Weiteren brauchst du das .next() nicht, da du als Haupt-Selektor (this) die Form und nicht den Button hast. Dadurch, dass du dich mit dem Selektor in der Form befindest, kannst du innerhalb dieser Form auf alles zugreifen, ohne .next() oder Ähnliches verwenden zu müssen.
Ansonsten war dein Ansatz ziemlich gut. Ich habe den Code für dich angepasst.
There you go: (Hab's mal in Spoiler gesetzt, falls du es noch selbst ausprobieren möchtest. )
$('.comment-form').submit(function(e) {
e.preventDefault();
var value = $(this).find('.show_comments').val();
var btncounter = $(this).find('input[name="counter counter-'+value+'"]');
var nVal = parseInt(btncounter.val()) + 2;
btncounter.val(nVal);
var counter = btncounter.val();
});
Ach so, setz mal bitte Semikolons ans Ende der Zeilen.
PS: Die <p>-Tags brauchst du gar nicht. Das Input Feld ist sowieso unsichtbar.
Problem PHP - Foreach 07/28/2014 - Web Development - 5 Replies Hi,
bin noch ein Newbie was PHP angeht und hab da mal eine Frage.
Ich möchte auf ein Array "topicList", welches sich in der Klasse "Topic" befindet, zugreifen. Der Inhalt dieses Array´s "topicList" beinhaltet mehrere Klassenobjekte der Klasse "Content". Nun wollte ich durch eine foreach Schleife auf die Variable "name", welche sich in der Klasse "Content" befindet, zugreifen und den Wert ausgeben.
So wird das Array initialisiert:
$this->topicList = array();
Explode im Foreach 06/22/2014 - Web Development - 7 Replies Hi,
habe leider wieder ein Problem bei meiner zukünftigen Webseite.
Ich möchte eine Userliste die zeilenweise im Format (user:pw) aus einer Textarea an PHP übergeben und schließlich zeilenweise auslesen.
Hier mein PHP Code:
<?php
if (isset ($_POST)) {
//Die Textarea nach jeder Zeile trennen und in einem Arrayfeld speichern
Finding a specific name from a list using a Foreach check 10/05/2013 - CO2 Private Server - 8 Replies I've been working on a new event idea which involves 2 people being paired up and then parts of each char being checked against the other, I have everything working fine apart from 1 of the checks that selects the players opponent from the list by checking the names in the list, It only selects the first person added to the list and then returns a fail rather than checking the whole list and returning the correct match if they are still there, I have checked and players are being added fine and...
Mit Foreach mehrere Daten in MySQL eintragen^ 07/12/2012 - Web Development - 4 Replies Hallöchen community,
komme gerade nicht weiter, steh irgendwie aufm Schlauch..
Ich habe folgendes:
$xml = @simplexml_load_file($xmllink);
foreach($xml->newsitems->newsitem as $news) {
$title = $news->title; // Titel der News
$url = $news->url; // Link zu den News
Direct a foreach at Char in Map? 04/01/2010 - CO2 Private Server - 8 Replies I've been working at a hunt quest that teleports chars to a map where they must kill a monster get a key find the treasure box, open it then teleport back to TC.
This is what I have but it directs the tele to all characters in game
foreach (Game.Character C in Game.World.H_Chars.Values)
{
Game.World.SendMsgToAll("SYSTEM", "The Treasure has been found. Better luck next time.", 2011, 0);
...