【发布时间】:2021-04-27 09:42:02
【问题描述】:
第一次在这里发帖,我不是特别技术,所以请与我裸露!我正在尝试在 Wix 网站构建器中创建多个条件下拉列表,以便每个下拉列表的内容取决于前一个下拉列表的选择。我的数据库称为“产品”,列是“制造商”、“型号”和“零件”。下拉菜单称为#dropdown 1、#dropdown2 和#dropdown3。
第一个下拉目从数据库中正确填充,但是当某些东西选择时,它不会填充第二个下拉列表,这样我就不确定代码是否触发。我的代码如下,任何帮助将不胜感激,因为我已经为此苦苦挣扎了好几天!
import wixData from 'wix-data';
$w.onReady(function () {
uniqueDropDown1();
});
function uniqueDropDown1 (){
wixData.query("Products")
.limit(1000)
.find()
.then(results => {
const uniqueTitles = getUniqueTitles(results.items);
$w("#dropdown1").options = buildOptions(uniqueTitles);
});
function getUniqueTitles(items) {
const titlesOnly = items.map(item => item.Manufacturer);
return [...new Set(titlesOnly)];
}
function buildOptions(uniqueList) {
return uniqueList.map(curr => {
return {label:curr, value:curr};
});
}
}
export function dropdown1_change(event) {
uniqueDropDown2();
$w("#dropdown2").enable();
function uniqueDropDown2 (){
wixData.query("Products")
.contains("Manufacturer", $w("#dropdown1").value)
.limit(1000)
.find()
.then(results => {
const uniqueTitles = getUniqueTitles(results.items);
$w("#dropdown2").options = buildOptions(uniqueTitles);
});
function getUniqueTitles(items) {
const titlesOnly = items.map(item => item.Manufacturer);
return [...new Set(titlesOnly)];
}
function buildOptions(uniqueList) {
return uniqueList.map(curr => {
return {label:curr, value:curr};
});
}
}
}
export function dropdown2_change(event) {
uniqueDropDown3();
$w("#dropdown3").enable();
function uniqueDropDown3 (){
wixData.query("Products")
.contains("Model", $w("#dropdown2").value)
.limit(1000)
.find()
.then(results => {
const uniqueTitles = getUniqueTitles(results.items);
$w("#dropdown3").options = buildOptions(uniqueTitles);
});
}
function getUniqueTitles(items) {
const titlesOnly = items.map(item => item.Model);
return [...new Set(titlesOnly)];
}
function buildOptions(uniqueList) {
return uniqueList.map(curr => {
return {label:curr, value:curr};
});
}
}
非常感谢, 奥斯卡
【问题讨论】:
标签: javascript java drop-down-menu velo