Hej!
Kan jag göra en array av objekt?
Min konstruktor:
/*
Objektet underrubrik
*/
function underRubrik (id_submenu,id_menu,name,target,submenuprio) {
this.id_submenu = id_submenu;
this.id_menu = menu;
this.name = name;
this.target = target;
this.submenuprio = submenuprio
}
Här är anropet i PHP koden:
...
while($row = mysql_fetch_array($result)){
echo "<script language=\"JavaScript\">\n";
echo " rubrik[\"$raknare\"] = new underRubrik(\"$row[id_submenu]\",\"$row[id_menu]\",\"$row[name]\",\"$row[target]\",\"$row[submenuprio]\");\n";
echo "</script>\n";
// -- slut teststruktur
$raknare++;
...
har fått till echo prylen tidigare, men nu får jag error
dectgapMedlem sedan sep. 20021 655 inlägg Det som är intressant är JavaScript-koden som genereras av PHP.
Kan du visa den?
Om det är ett PHP-felmeddelande du får fram får du söka svar i PHP-forumet istället.
Som svar på din fråga: Ja, man kan ha en array bestående av objekt. Visa som sagt av dectgap koden som genereras.
inget fel i php koden, då får jag parse error normalt
det är javascript kods problem i tex internet explorer
det har blivit inflation i escape characters (för att kunna köra javascript i php avsnittet)
hatar att koda så men har inget val
vet inte hur jag får upp javascripts felmedd.
använder DreamWeaver för att utveckla
förresten nån som vet hur man får DreamWeaver att ssh:a korrekt? ballar ur...
Jesper TMedlem sedan nov. 20017 144 inlägg Visa källa --> kopiera koden mellan <script> och </script> --> klistra in i denna tråd.
kod!
// nedanst ska vara med om javascript lösning
echo "<script language=\"JavaScript\">\n";
echo " rubrik[\"$raknare\"] = new underRubrik(\"$row[id_submenu]\",\"$row[id_menu]\",\"$row[name]\",\"$row[target]\",\"$row[submenuprio]\");\n";
echo "</script>\n";
$raknare++;
...sen läser den nästa rad ur MySQL databasen, det funkar som det ska...
Jesper TMedlem sedan nov. 20017 144 inlägg nej,nej,nej,nej... ;)
Om du vill få hjälp i javascriptforumet så får du kopiera koden ur källkoden.
Annars så måste man ju dessutom kunna en massa konstiga serverspråk.
bör tilläggas att så här skulle det se ut om det vore ren javascript kod, dvs inte skriva javascript kod till browsern via php:
rubrik[index] = new underRubrik (row[id_submenu], row[id_menu], row[name], row[target], row[submenuprio]);
Kan man utöka rubrik-arrayen dynamiskt?
Har deklarerat den längst upp i header javascript delen:
var rubrik = new Array;
Jesper TMedlem sedan nov. 20017 144 inlägg fint
jag tycks inte komma åt objektets attribut:
alert(rubrik[0].name);
har ett utropstecken i Internet Explorer
man måste tydligen ha ett CP-stört anrop:
rubrik[0] = {id_submenu: 1, id_menu: 2, name: "hej", target: "hopp", submenuprio: 3};
JojoxxMedlem sedan juni 20004 308 inlägg Enda felet jag ser är att i constructor-definitionen använder du referensen "id_menu" medans inne i constructorn har du skrivit
"menu".
"CP-anropet" :) är egentligen bara en förkortning för en objekt-definition. Se detta exempel (rubrik[0] och rubrik[1] blir identiska);
var rubrik=new Array();
function underRubrik (id_submenu,id_menu,name,target,submenuprio) {
this.id_submenu = id_submenu;
this.id_menu = id_menu;
this.name = name;
this.target = target;
this.submenuprio = submenuprio;
}
rubrik[0] = {id_submenu: 1, id_menu: 2, name: "hej", target: "hopp", submenuprio: 3};
rubrik[1] = new underRubrik(1,2,"hej","hopp",3);
for(var x in rubrik[0]){
alert(rubrik[0][x]+":"+rubrik[1][x]);
}