Autor Zpráva
frauen
Profil *
Zdravím,

chtěl bych se zeptat, jak pomocí JS (nejlépe jQuery) zjistit nejvyšší hodnotu indexu PHP pole?

Potřeboval bych podmínku s následující logikou:

Pokud existuje dané PHP pole {
zjisti jeho nejvyšší index a vlož ho do [hodnotaIndex] a inkrementuj
} jinak {
[hodnotaIndex] = 1
}

Jen bych podotknul, že indexy jsou číselné.

Děkuji za pomoc.
Chamurappi
Profil
Reaguji na frauena:
JavaScript se odehrává na straně klienta, vůbec neví, že na straně serveru běží nějaké PHP.
frauen
Profil *
Chamurappi:
JavaScript se odehrává na straně klienta, vůbec neví, že na straně serveru běží nějaké PHP.
Znamená to tedy, že to, co potřebuji, není možné?
Chamurappi
Profil
Reaguji na frauena:
Znamená to, že tvůj požadavek nedává smysl. Jinak to, co potřebuješ, pravděpodobně možné je (ovšem úplně jinak, než si momentálně představuješ).
_es
Profil
frauen:
Môžeš čítať príbuzné vlákno, nemá zmysel to kopírovať sem.
frauen
Profil *
Špatně jsem se vyjádřil s tím PHP polem. Vím, že PHP běží na straně serveru, stejně tak vím, že JS běží na straně uživatele.

PHP polem jsem myslel to, že pomocí PHP získám pole, které je pak HTML a já bych pomocí JS (nejlépe jQuery) potřeboval zjistit to, co jsem psál výše.

Děkuji za pomoc.
_es
Profil
frauen:
pole, které je pak HTML
To je čo za pole?
Načo ti je na pole jQuery?
Tak si predsa v PHP vygeneruj JS s potrebnými dátami a použi ich v skripte.
Stále ti nie je rozumieť, čo chceš.
frauen
Profil *
Jde mi o to, že v databázi mám uložená určitá html data (včetně formulářových položek), kde je určité pole. Já bych potřeboval po vypsání pomocí PHP zjistit pomocí JS to, o čem jsem psal výše.

[JS]
Pokud ve vypsaných datech existuje dané pole {
zjisti jeho nejvyšší index a vlož ho do [hodnotaIndex] a inkrementuj
} jinak {
[hodnotaIndex] = 1
}
[/JS]
_es
Profil
frauen:
v databázi mám uložená určitá html data (včetně formulářových položek), kde je určité pole.
Aké pole? Žiadne „HTML pole“ neexistuje.
Ak niečo nevieš spraviť v JS, daj dotaz do sekcie JS.
Ak niečo nevieš spraviť v PHP, daj dotaz do sekcie PHP.
A potrebuješ poradiť s databázou, daj dotaz do databázovej sekcie.
V každom prípade to sprav tak, aby v tom dotaze nebolo PHP a JS súčasne.
frauen
Profil *
Uvedu raději příklad.

Mám následující data:
<p class="category">Kategorie: <input type="text" name="category[0]" size="50" value="Kategorie 1"></p>
<p class="category">Kategorie: <input type="text" name="category[5]" size="50" value="Kategorie 2"></p>
<p class="category">Kategorie: <input type="text" name="category[8]" size="50" value="Kategorie 3"></p>


A potřeboval bych pomocí JS (nejlépe jQuery) udělat toto:
[JS]
Pokud ve vypsaných datech existuje pole category[] {
zjisti jeho nejvyšší index a vlož ho do [hodnotaIndex] a inkrementuj
} jinak {
[hodnotaIndex] = 1
}
[/JS]

V tomto případě by [hodnotaIndex] = 9.
Chamurappi
Profil
Reaguji na frauena:
Z hlediska HTML a JS ty <input>y s rozdílnými jmény netvoří pole, v name může být z pohledu prohlížeče prakticky cokoliv. Konvence s čísly v hranatých závorkách se uplatňuje až na straně PHP.

Takže potřebuješ projít všechny <input>y (v rámci jednoho formuláře?), jejichž name začíná na category, z každého zjistit číslo v závorce a porovnat ho s doposud nejvyšším nalezeným. Tak zní tvé zadání v celé své nahotě?
_es
Profil
frauen:
Mám následující data
A tie dáta sa ti tam dostali ako? Ak si ich tam vypisoval pomocou PHP, tak už v PHP predsa musíš vedieť koľko takých inputov tam vypíšeš a môžeš vygenerovať JS skript:
<script>var index=<?php Príkazy na zistenie veľkosti poľa ?>;</script>
frauen
Profil *
Chamurappi:
Takže potřebuješ projít všechny <input>y (v rámci jednoho formuláře?), jejichž name začíná na category, z každého zjistit číslo v závorce a porovnat ho s doposud nejvyšším nalezeným. Tak zní tvé zadání v celé své nahotě?
Přesně tak. Myslím, že to z mého příkladu a konkrétně části JS vyplynulo.
Witiko
Profil
frauen:
Viz. _esův příspěvek. PHP script musí daný html kód generovat, takže by měl "vědět", který z elementů má nejvyšší index a danou hodnotu javascriptu předat.

To je mnohem logičtější, než nutit javascript, aby procházel všechny elementy, parsoval jim atribut name, výsledek přetypovával, ukládal do pole hodnot a to předhazoval funkci Math.max jako kontext.

Javascript je cloudovitý obláček, těžkou práci nech na serveru. ;)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0