Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Wix中的条件下拉菜单_Javascript_Java_Drop Down Menu_Velo - Fatal编程技术网

Javascript Wix中的条件下拉菜单

Javascript Wix中的条件下拉菜单,javascript,java,drop-down-menu,velo,Javascript,Java,Drop Down Menu,Velo,第一篇文章在这里,我不是特别技术,所以请与我赤裸裸!我试图在Wix网站生成器中创建多个条件下拉列表,以便每个下拉列表的内容取决于上一个下拉列表的选择。我的数据库名为“产品”,列为“制造商”、“型号”和“零件”。下拉菜单称为#下拉1、#下拉2和#下拉3 第一个下拉列表从数据库中正确填充,但是当选择某个内容时,它不会填充第二个下拉列表,因此我不确定代码是否触发。我的代码如下,任何帮助都将不胜感激,因为我已经为此奋斗了好几天 import wixData from 'wix-data'; $w.on

第一篇文章在这里,我不是特别技术,所以请与我赤裸裸!我试图在Wix网站生成器中创建多个条件下拉列表,以便每个下拉列表的内容取决于上一个下拉列表的选择。我的数据库名为“产品”,列为“制造商”、“型号”和“零件”。下拉菜单称为#下拉1、#下拉2和#下拉3

第一个下拉列表从数据库中正确填充,但是当选择某个内容时,它不会填充第二个下拉列表,因此我不确定代码是否触发。我的代码如下,任何帮助都将不胜感激,因为我已经为此奋斗了好几天

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}; 
        });
    }
}
非常感谢,,
Oscar

从“wix数据”导入wixData

$w.onReady(函数(){ $w(“#数据集_id”).onReady(()=>{


})

我终于可以工作了。问题是我的OnChange事件没有定义到下拉列表中。代码如下:

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.Model);
     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.Part);
     return [...new Set(titlesOnly)];
    }
    function buildOptions(uniqueList) { 
        return uniqueList.map(curr => {
            return {label:curr, value:curr}; 
        });
    }
}

非常感谢这个Sneha,你是建议我用上面的代码替换我的所有代码吗?还是需要插入到某个地方?-对不起,我完全是个新手!只要替换所有代码并设置所有id和executeThanks谢谢你的帮助Sneha,我已经这样做了,但现在我得到了“TypeError:undefined不是函数”错误。我还有3个下拉列表,分别是“制造商”、“型号”和“零件”,数据库名称是“产品”。您能帮忙吗?请在这里键入错误。请在代码顶部添加这一行:从“wix数据”导入wixData;
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.Model);
     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.Part);
     return [...new Set(titlesOnly)];
    }
    function buildOptions(uniqueList) { 
        return uniqueList.map(curr => {
            return {label:curr, value:curr}; 
        });
    }
}