簡體   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