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