Autor | Zpráva | ||
---|---|---|---|
frauen Profil * |
#1 · Zasláno: 18. 2. 2011, 01:00:12
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 |
#2 · Zasláno: 18. 2. 2011, 01:05:00
Reaguji na frauena:
JavaScript se odehrává na straně klienta, vůbec neví, že na straně serveru běží nějaké PHP. |
||
frauen Profil * |
#3 · Zasláno: 18. 2. 2011, 01:13:01
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 |
#4 · Zasláno: 18. 2. 2011, 02:07:43
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 |
#5 · Zasláno: 18. 2. 2011, 06:06:04
frauen:
Môžeš čítať príbuzné vlákno, nemá zmysel to kopírovať sem. |
||
frauen Profil * |
#6 · Zasláno: 18. 2. 2011, 12:31:38
Š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 |
#7 · Zasláno: 18. 2. 2011, 12:43:16 · Upravil/a: _es
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 * |
#8 · Zasláno: 18. 2. 2011, 13:02:19
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 |
#9 · Zasláno: 18. 2. 2011, 13:50:39
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 * |
#10 · Zasláno: 18. 2. 2011, 14:08:23
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 |
#11 · Zasláno: 18. 2. 2011, 14:24:01
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 |
#12 · Zasláno: 18. 2. 2011, 14:27:19
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 input ov tam vypíšeš a môžeš vygenerovať JS skript:
<script>var index=<?php Príkazy na zistenie veľkosti poľa ?>;</script> |
||
frauen Profil * |
#13 · Zasláno: 18. 2. 2011, 14:32:41
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 |
#14 · Zasláno: 18. 2. 2011, 17:23:51 · Upravil/a: Witiko
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. ;) |
||
Časová prodleva: 13 let
|
0