繁体   English   中英

javascript下拉菜单返回值

[英]javascript drop down menus returning a value

使用该网站已有一段时间-首次发布。

我有一个要解决的问题。 在Javascript(不是jQuery或AJAX)中,我尝试有2个下拉菜单,并且第三个字段基于两个下拉菜单返回一个整数。 因此,我具有下拉菜单1,当用户从该菜单中选择一个值时,第二个下拉菜单将显示相关项目-使用我在这里找到的示例,我可以很好地运行该菜单:根据另一个选择填充一个下拉菜单

但是我现在需要能够根据第二个下拉菜单中的选择提取一个值。 例如,用户在第一个菜单中选择“ Audi”,然后在第二个菜单中选择“ A4”,然后显示该特定商品的价格。

我对此完全不知所措,一直在尝试使用第二个下拉菜单中的索引-用户选择了第三项后,索引应返回“ 4”,然后我可以设置另一个数组来切换“ 4”达到我想要的值-但这似乎很笨拙。

在菜单的初始测试中,我使用了以下数组:

    stone_category = 0;
 stone_category["Granite & Marble"]=1;
 stone_category["Sensa Granite"]=2;
 stone_category["Silestone Quartz - Polished Finish"]=3;
 stone_category["Silestone Quartz - Leather & Volcano Finish"]=4;
 stone_category["Eco Recycled Surfaces - Polished Finish"]=5;
 stone_category["Caesarstone Quartz - Polished Finish"]=6;
 stone_category["Unistone Quartz - Polished & Leather Finish"]=7;
 stone_category["Samsung Radianz Quartz - Polished Finish"]=8;
 stone_category["Okite Quartz - Polished Finish"]=9;
 stone_category["Compac Quartz - Polished and Matt Finish"]=10;

从那我可以拉出数值用于计算。 但是,我随后必须设置下拉菜单的方式使数组样式不适用于第二个菜单,这让我无所适从。

我希望我已经解释清楚了。

您可以为这些元素添加一个额外的属性,例如category-id="x" ,其中x是您要从每个元素中提取的值。 然后,您可以使用选择器获取该值:

value = document.querySelector("#submenu .checked").getAttribute("category-id");

更改#submenu.checked使用添加到该子菜单和所选项目的任何类或选择器。

感谢您的回复,对于我错过了HTML,我们深表歉意。昨天我脑子有点发麻(距离我上一次编码太久了!)。

最后,我设法通过在最终计算中创建switch语句来解决该问题。 这将从用户选择的第二个菜单中检索值,并将其切换为所需的值,如下所示:

var a = document.getElementById("ddl2");
var strUser = a.options[a.selectedIndex].value;

//以价格切换石头的名称

if (thicknessDesired == "20") {
switch (strUser) {
case 'Galaxy Grey':
case 'Rosa Porrino':
case 'Rosa Sardo':
        var price = '99.75';
    break;

switch语句现在正在快速增长,因此仅发布了一个片段。 这可能不是最优雅的解决方案,但我发现它可以正常工作,所以现在我可以继续研究下一个问题。

再次感谢你们

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM