Wuu Posted June 20, 2016 Report Share Posted June 20, 2016 Kāda vaina JavaScriptam? Quote Link to comment Share on other sites More sharing options...
jurgenzz Posted June 20, 2016 Report Share Posted June 20, 2016 Kāda vaina JavaScriptam? traks vai php forumā šādu jautājumu uzdot Quote Link to comment Share on other sites More sharing options...
Mr.Key Posted June 20, 2016 Report Share Posted June 20, 2016 Nav nekādas vainas JavaScriptam, viss patīk. Quote Link to comment Share on other sites More sharing options...
briedis Posted June 20, 2016 Report Share Posted June 20, 2016 Šādas dinamiskas lietas tik ar JS. Uzģenerē smuku JSON struktūru, kādu vajag, un noposto vnk.. Quote Link to comment Share on other sites More sharing options...
Mr.Key Posted June 20, 2016 Report Share Posted June 20, 2016 (edited) Tagad tev ir jāciklē cauri visiem GET/POST parametriem un jāmeklē tas | simbols, pēc kura jāgrupē subitems. Tā ir tā liekā parsēšana. Par lieko parsēšanu (URL filtra gadījumā, kur selectā izvēlas vienību un multiselektā - 0, 1, ... N apakšvienības, un šo pāru skaits ir 0, 1, ... N atkarībā no lietotāja): $data = []; $i = 0; $breaks = array_keys($_GET['subitems'], '|'); foreach ($_GET['item'] as $item) { $data[] = [ 'item' => $item, 'subitems' => array_slice($_GET['subitems'], $i > 0 ? $breaks[$i - 1] : 0, $breaks[$i]) ]; $i++; } Labprāt redzēto to JS kodu, kas izseko līdzi un menedžē to i. Vai jebkādā citādā variantā. Edited June 20, 2016 by Mr.Key Quote Link to comment Share on other sites More sharing options...
jurchiks Posted June 20, 2016 Report Share Posted June 20, 2016 Tu tur kaut kur neesi aizmirsis $i++? Quote Link to comment Share on other sites More sharing options...
Wuu Posted June 20, 2016 Report Share Posted June 20, 2016 Kaut kā precizē, ko tam JS kodam būtu jādara, iedod DOM struktūru iekš https://jsfiddle.net/ Quote Link to comment Share on other sites More sharing options...
F3llony Posted June 20, 2016 Report Share Posted June 20, 2016 Par lieko parsēšanu (URL filtra gadījumā, kur selectā izvēlas vienību un multiselektā - 0, 1, ... N apakšvienības, un šo pāru skaits ir 0, 1, ... N atkarībā no lietotāja): $data = []; $i = 0; $breaks = array_keys($_GET['subitems'], '|'); foreach ($_GET['item'] as $item) { $data[] = [ 'item' => $item, 'subitems' => array_slice($_GET['subitems'], $i > 0 ? $breaks[$i - 1] : 0, $breaks[$i]) ]; $i++; } Labprāt redzēto to JS kodu, kas izseko līdzi un menedžē to i. Vai jebkādā citādā variantā. Nu, ja visa tava templeity sistēma frontendā sastāv no .clone() tad būs pagrūti jā... :P Quote Link to comment Share on other sites More sharing options...
jurchiks Posted June 20, 2016 Report Share Posted June 20, 2016 (edited) >Labprāt redzēto to JS kodu, kas izseko līdzi un menedžē to i. Vai jebkādā citādā variantā. var i = $existingRows.count(); var newRow = $existingRows.last().clone().html() .replace( 'name="subtypes[' + (i - 1) + '][]"', 'name="subtypes[' + i + '][]"' ); Tas būtu visprimitīvākais variants, bet arī viens no, ja ne pats efektīvākais. Vēl var tabulā norādīt atribūtus 'data-row-count="{$lastIterVal}"' un "data-col-count", ko jQuery viegli nolasīt ar jQuery('table-selector').data('row-count'), un pie jauna row/col pievienošanas uzsetot jaunu vērtību. Attiecīgi JS nolasa šos 2 atribūtus un ģenerējot jaunu row/col, nekas netiek klonēts, bet gan ģenerēts vai nu HTML string, vai DOM tree jaunajam row. Edited June 20, 2016 by jurchiks Quote Link to comment Share on other sites More sharing options...
Mr.Key Posted June 20, 2016 Report Share Posted June 20, 2016 Jurchiks, tehniski tas man ir skaidrs un saprotams, taču es neredzu, kāpēc struktūra, kurā elementi tiek organizēti secībā un katra elementa kārtas numurs skaitot atbilst, khmm, viņa kārtas numuram, ir jāpapildina ar kārtas numuru. Turklāt, ņem vērā, ka tos datus var bīdīt visādi un pirms datu nosūtīšanas secība var neatbilst tam i, kas tapa klonēšanas brīdī. F3llony, man patīk un sanāk strādāt tā, ka ir klients, ar kuru strādāju pa tiešo bez tīmlīdiem, produkta owneriem un citiem kukaiņiem, un kuram vajag palīdzēt atrisināt viņa biznesa vajadzības. Tas nozīmē izveidot IT risinājumu no 0, tas IT risinājums kļūst par viņa ikdienas darba sastāvdaļu. Risinājumu izstrādāju vadoties pēc tā, lai tas strādā, strādā korekti, reizēm pat strādā 10+ gadus. Darba rezultāts ir nevis tas, cik es sarežģīti izveidoju un cik daudz salieku visu ko lieku, kas citur pēc tam izpaužas kā double qoutes, unescape_escaped_string, vai lietām, kuras vienkārši nestrādā, bet tas, cik racionāli un sabalansēti es māku salikt kopā vajadzīgās tehnoloģijas. Parasti mazāk ir labāk. Es nestrādāju lielā uzņēmumā un nevaru atļauties filozofēt par to, kā būtu pareizi - vajag, daru, risinu. Bet ja ir padoms par templeitu sistēmu web appam, kas darbojas browserī uz planšetēm un kur jau pamatā doma ir datu apmaiņu laist caur AJAX/JSON, tiešām interesētu, kurš būtu labāks (angular, ember, react? skatos uz ember. gribu webisku appu, kas sesijas sākumā saņem datus, sesijas beigās nosūta gatavus pasūtījumus, pa vidu formās notiek pasūtījumu veidošana). Quote Link to comment Share on other sites More sharing options...
jurchiks Posted June 20, 2016 Report Share Posted June 20, 2016 >Turklāt, ņem vērā, ka tos datus var bīdīt visādi un pirms datu nosūtīšanas secība var neatbilst tam i, kas tapa klonēšanas brīdī. Loģiski, ka tas ir jāparedz tajā bīdīšanas Javaskriptā. >Es nestrādāju lielā uzņēmumā un nevaru atļauties filozofēt par to, kā būtu pareizi Lielā uzņēmumā kā reiz par to nemaz neļauj filozofēt, jo ir "standarti". Quote Link to comment Share on other sites More sharing options...
Mr.Key Posted June 20, 2016 Report Share Posted June 20, 2016 Nu cik reizes var skaidrot - nav nekas nepieciešams. Elementu kārtas numurs to organizētajā secībā ir pilnīgi pietiekami. Izmainot elementu kārtību visos iespējamos veidos, to kārtas numurs jaunajā secībā vienmēr būs kārtas numurs jaunajā secībā. Piemēram, rindā piektais cilvēks vienmēr būs piektais un pie kases produktus pircēji atdala kociņu pa vidu tiem, nevis numurē katru savu produktu. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted June 20, 2016 Report Share Posted June 20, 2016 Nu, tad kā mēs varam palīdzēt? Quote Link to comment Share on other sites More sharing options...
F3llony Posted June 20, 2016 Report Share Posted June 20, 2016 Vue.js. nule pārrakstīju vienu palielu biznesa daļu no vanilla es6 uz vue. Ir ok. Quote Link to comment Share on other sites More sharing options...
Val Posted June 20, 2016 Report Share Posted June 20, 2016 Nu, tad kā mēs varam palīdzēt? Parunājoties ar citiem, bieži uzpeld derīgas idejas. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.