Manuprāt vienmēr labāk ir DB. Tikai atsevišķos gadījumos, vai ari ja nav iespēju, tad fails.
Btw, http://apblog.lv/2007/10/24/flatfile-datubazes-prieks-php/
Tavā risinājumā varētu iztikt arī bez eval. Ar DOM metodēm piekabini elementam klāt DOM līmenī speciālu atribūtu (pareizāk sakot propertiju) ar anonīmo funkciju:
el.mans_specialais_onchange = function() {....}
Un tad tavs nodropotais elements tad lai arī izsauc šo funkciju (el.mans_specialais_onchange();).
Izmanto nestētus foreach.
Tev pirmajā līmenī tikai viens elements un tas ir Dala ?
foreach($data['Dala'] as $item) {
$item['id'] un $item[...] prieksh citiem datiem
}
100% droši nekad nevarēs. Bet var izmantot to pašu metodi, ko pieminēji par laika padošanu, bet to laiku kārtīgi nokodējot ar kādu savu custom algoritmu. Bet nu tas tāpat nebūs droši.
Labāk sākt uzreiz pareizi, nevis vispirms apgūt nepareizi un tad otreiz mācīties pareizi. Neteiktu arī, ka ar tabulu ir baigi vienkāršāk nekā ar listēm un CSS.
Diezvai. Drīzāk gan pie vainas varētu būt tas, ka tas javascript izpildās pirms tā HTML elementa. Tev tas JS ir ielikts iekš window.onload vai arī pašā lapas apakšā ?