[英]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.