Trying to add a simple array to load a dropdown list.
It doesn’t show up immediately.
let overflightpermitarray = ["paxPrivateOrCorporateNonCommercial", "paxCharterAdhocCommercial", "paxNonScheduled", "cargoFlight", "emptyFerryFlight", "ambulanceFlight"];
let landpermitarray = ["paxPrivateOrCorporateNonCommercial", "paxCharterAdhocCommercial", "paxNonScheduled", "cargoFlight", "emptyFerryFlightOrTechnicalLanding", "ambulanceFlight"];
$w.onReady(function () {
$w("#choosepermitdropdown").onChange( (event) => {
$w('#chooseflightpurpose').enable();
console.log($w('#choosepermitdropdown').value);
if ($w('#choosepermitdropdown').value === "OverflightPermit"){
console.log("if stmt started");
addtodropdown(overflightpermitarray);
}
else{
addtodropdown(overflightpermitarray);
}
function addtodropdown(arraytoadd) {
$w('#chooseflightpurpose').options = [];
let opts = $w("#chooseflightpurpose").options;
for (let i=0; i<arraytoadd.length; i++){
opts.push ({"label": arraytoadd[i], "value": arraytoadd[i]});
console.log(opts);
}
$w("#chooseflightpurpose").options = opts;
console.log($w("#chooseflightpurpose").options);
}
});
});
In the console.log for $w("#chooseflightpurpose").options , it shows the below
[
{
"label": "paxPrivateOrCorporateNonCommercial",
"value": "paxPrivateOrCorporateNonCommercial"
},
{
"label": "paxCharterAdhocCommercial",
"value": "paxCharterAdhocCommercial"
},
{
"label": "paxNonScheduled",
"value": "paxNonScheduled"
},
{
"label": "cargoFlight",
"value": "cargoFlight"
},
{
"label": "emptyFerryFlight",
"value": "emptyFerryFlight"
},
{
"label": "ambulanceFlight",
"value": "ambulanceFlight"
}
]
BUT THE WEBSITE SHOWS IT LIKE THIS WHEN IT LOADS!
(the loading… is just the default first option i’ve shown)
Now when I click the (loading…) option, it loads to all the correct values!
Basic question! Why is not loading the options correctly when it is first done?
Please help. TIA.