Node.js dropdown list.

brilzi89

Bekanntes Mitglied
Hallo zusammen,

ich übe momentan mit Node und express. Ich habe mir ein Js Objekt erstellt und gebe es mit einem Script in einer Dropdown Liste aus. Nun wollte ich einen Schritt weiter gehen. Ich habe mit mongoose ein Schema erstellt und kann das Model auch ausgeben. Mit JSON.parse() wandle ich die JSON Datei in ein Js Objekt um. Mit der render() Methode kann ich zwar das Objekt an meine Index.ejs Datei schicken aber ich würde gerne dieses Objekt an mein Script schicken. Wie kann ich das Umsetzen?.

[CODE lang="javascript" title="bikeController"]require("../models/database");
const Category = require("../models/Category");
const fs = require('fs');

/**
* Get /
* Homepage
*/

exports.bike = async (req, res) => {
try {
Category.find({}).then((bike) => {

var obj;
fs.readFile('output.json', 'utf8', function (err, data) {
if (err) throw err;
obj = JSON.parse(data);
console.log(obj);
});

res.render('./layouts/index');
}).catch((e) => {
console.log(e);
})

} catch (error) {
res.status(500).send({ message: error.message || "Error Occured" });



bike.js

[CODE lang="javascript" title="bike.js"]

import {bikeArray} from './mock.js';

window.onload = function () {
var typSel = document.getElementById("typSel"),
modelSel = document.getElementById("modelSel"),
sizeSel = document.getElementById("sizeSel"),
colorSel = document.getElementById("colorSel"),
breakSel = document.getElementById("breakSel"),
tireSel = document.getElementById("tireSel"),
shiftSel = document.getElementById("shiftSel"),
mudSel = document.getElementById("mudSel"),
lockSel = document.getElementById("lockSel"),
lightSel = document.getElementById("lightSel");

for (var typ in bikeArray) {
typSel.options[typSel.options.length] = new Option(typ, typ);
}

//Give Model
typSel.onchange = function () {
modelSel.length = 1; //remove all options first
sizeSel.length = 1;
if (this.selectedIndex < 1) return;
for (var model in bikeArray[this.value]) {
modelSel.options[modelSel.options.length] = new Option(model, model);
}
};

typSel.onchange();

//Give Size
modelSel.onchange = function () {
sizeSel.length = 1;
colorSel.length = 1;
if (this.selectedIndex < 1) return;
var size = bikeArray[typSel.value][this.value];
console.log(size);
for (var sizeVar = 0; sizeVar < size.Größe.length; sizeVar++) {
sizeSel.options[sizeSel.options.length] = new Option(
size.Größe[sizeVar],
size.Größe[sizeVar]
);
}
};
//Give Color
sizeSel.onchange = function () {
colorSel.length = 1;
breakSel.length = 1;
if (this.selectedIndex < 1) return;
var color = bikeArray[typSel.value][modelSel.value];
console.log(color);
for (var colorVar = 0; colorVar < color.Farbe.length; colorVar++) {
colorSel.options[colorSel.options.length] = new Option(
color.Farbe[colorVar],
color.Farbe[colorVar]
);
}
};
//Give Breaks
colorSel.onchange = function () {
breakSel.length = 1;
tireSel.length = 1;
if (this.selectedIndex < 1) return; //done
var breaks = bikeArray[typSel.value][modelSel.value];
console.log(breaks);
for (var breakVar = 0; breakVar < breaks.Bremsen.length; breakVar++) {
breakSel.options[breakSel.options.length] = new Option(
breaks.Bremsen[breakVar],
breaks.Bremsen[breakVar]
);
}
};

//Give Tires
breakSel.onchange = function () {
tireSel.length = 1;
shiftSel.length = 1;
if (this.selectedIndex < 1) return;
var tires = bikeArray[typSel.value][modelSel.value];
for (var tireVar = 0; tireVar < tires.Reifen.length; tireVar++) {
tireSel.options[tireSel.options.length] = new Option(
tires.Reifen[tireVar],
tires.Reifen[tireVar]
);
}
};
//Give Shift
tireSel.onchange = function () {
shiftSel.length = 1;
if (this.selectedIndex < 1) return;
var shift = bikeArray[typSel.value][modelSel.value];
for (var siftVar = 0; siftVar < shift.Schaltung.length; siftVar++) {
shiftSel.options[shiftSel.options.length] = new Option(
shift.Schaltung[siftVar],
shift.Schaltung[siftVar]
);
}
};
//Give Mudguard
shiftSel.onchange = function () {
mudSel.length = 1;
lockSel.length = 1;
if (this.selectedIndex < 1) return;
var mud = bikeArray[typSel.value][modelSel.value];
for (var mudVar = 0; mudVar < mud.Schutzblech.length; mudVar++) {
mudSel.options[mudSel.options.length] = new Option(
mud.Schutzblech[mudVar],
mud.Schutzblech[mudVar]
);
}
};
//Give Lock
mudSel.onchange = function () {
lockSel.length = 1;
lightSel.length = 1;
if (this.selectedIndex < 1) return;
var lock = bikeArray[typSel.value][modelSel.value];
for (var lockVar = 0; lockVar < lock.Schloss.length; lockVar++) {
lockSel.options[lockSel.options.length] = new Option(
lock.Schloss[lockVar],
lock.Schloss[lockVar]
);
}
};
//Give Light
lockSel.onchange = function () {
lightSel.length = 1;
if (this.selectedIndex < 1) return;
var light = bikeArray[typSel.value][modelSel.value];
for (var lightVar = 0; lightVar < light.Licht.length; lightVar++) {
lightSel.options[lightSel.options.length] = new Option(
light.Licht[lightVar],
light.Licht[lightVar]
);
}
};
};
[/CODE]
 

Ähnliche Java Themen

Neue Themen


Oben