Javascript 多重下拉菜单选择

Javascript 多重下拉菜单选择,javascript,jquery,drop-down-menu,Javascript,Jquery,Drop Down Menu,我们对HTML或java脚本没有太多经验,这里构建的是从其他人的响应和代码创建的。所以我们边走边学 但是现在我们需要一个javascript函数,它将为我们提供一个特定于他们在下拉选择中选择的项目的URL。对于每个可能的组合,我们需要一个不同的URL 我们已经设置了产品,我们只需要一个界面,让他们更容易导航 你可以通过这个链接看到我们现在的位置 我们正在尝试加载它的网站是crave-pop.squarespace.com <form action="#" class="cascadeTes

我们对HTML或java脚本没有太多经验,这里构建的是从其他人的响应和代码创建的。所以我们边走边学

但是现在我们需要一个javascript函数,它将为我们提供一个特定于他们在下拉选择中选择的项目的URL。对于每个可能的组合,我们需要一个不同的URL

我们已经设置了产品,我们只需要一个界面,让他们更容易导航

你可以通过这个链接看到我们现在的位置

我们正在尝试加载它的网站是crave-pop.squarespace.com

<form action="#" class="cascadeTest">
    <table>
        <tr>
            <th>Tin Size:</th>
            <td>
                <select name="sizSelect" class="sizSelect">
                    <option value="0">Select an Tin Size</option>
                    <option value="1">2 Gallon</option>
                    <option value="2">3.5 Gallon</option>
                    <option value="3">6 Gallon</option>
                </select>
            </td>
        </tr>
        <tr>
            <th>Amount of Flavors:</th>
            <td>
                <select name="amtSelect" class="amtSelect">
                    <option value="0" class="static">- Amount of Flavors -</option>
                    <option value="1" class="sub_1">1 Flavor</option>
                    <option value="2" class="sub_1">2 Flavors</option>
                    <option value="3" class="sub_1">3 Flavors</option>
                    <option value="4" class="sub_2">1 Flavor</option>
                    <option value="5" class="sub_2">2 Flavors</option>
                    <option value="6" class="sub_2">3 Flavors</option>
                    <option value="7" class="sub_3">1 Flavor</option>
                    <option value="8" class="sub_3">2 Flavors</option>
                    <option value="9" class="sub_3">3 Flavors</option>
                </select>
            </td>
        </tr>
        <tr>
            <th>Flavor 1:</th>
            <td>
                <select name="flaSelect" class="flaSelect">
                    <option value="0" class="static">- All Flavors -</option>
                    <option value="1" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Old Fashion Butter</option>
                    <option value="2" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Naked Low Salt</option>
                    <option value="3" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Movie Theater</option>
                    <option value="4" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Cheddar Cheese</option>
                    <option value="5" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Jalapeno Cheddar</option>
                    <option value="6" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">White Cheddar</option>
                    <option value="7" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">White Cheddar & Bacon</option>
                    <option value="8" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Vinegar N Sea Salt</option>
                    <option value="9" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Dill Pickle</option>
                    <option value="10" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Simply Ranch</option>
                    <option value="12" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Ranch With A Kick</option>
                    <option value="13" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Cracked Black Pepper</option>
                    <option value="14" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Kettle</option>
                    <option value="15" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Classic Caramel</option>
                    <option value="16" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Pure Vanilla</option>
                    <option value="17" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">NYC Cheesecake</option>
                    <option value="18" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Roy G Biv</option>
                    <option value="19" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Dallas</option>
                    <option value="20" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Denver</option>
                    <option value="21" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Chicago</option>
                    <option value="22" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Team Spirit</option>
                    <option value="23" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Chocolate N Sea Salt</option>
                    <option value="24" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Cinnamon Bun</option>
                    <option value="25" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Dark Chocolate Toffee</option>
                    <option value="26" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Pecan Pie</option>
                    <option value="27" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Zebra</option>
                    <option value="28" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Puppy Chow</option>
                    <option value="29" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">White Chocolate Oreo</option>
                    <option value="30" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Nutella</option>
                    <option value="31" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Salted Nutty Caramel</option>
                    <option value="32" class="sub_1 or sub_2 or sub_3 or sub_4 or sub_5 or sub_6 or sub_7 or sub_8 or sub_9">Team Kelly</option>
                </select>
            </td>
        </tr>
        <tr>
            <th>Flavor 2:</th>
            <td>
                <select name="fla2Select" class="fla2Select">
                    <option value="0" class="static">- All Flavors -</option>
                    <option value="1" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Old Fashion Butter</option>
                    <option value="2" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Naked Low Salt</option>
                    <option value="3" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Movie Theater</option>
                    <option value="4" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Cheddar Cheese</option>
                    <option value="5" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Jalapeno Cheddar</option>
                    <option value="6" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">White Cheddar</option>
                    <option value="7" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">White Cheddar & Bacon</option>
                    <option value="8" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Vinegar N Sea Salt</option>
                    <option value="9" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Dill Pickle</option>
                    <option value="10" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Simply Ranch</option>
                    <option value="12" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Ranch With A Kick</option>
                    <option value="13" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Cracked Black Pepper</option>
                    <option value="14" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Kettle</option>
                    <option value="15" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Classic Caramel</option>
                    <option value="16" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Pure Vanilla</option>
                    <option value="17" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">NYC Cheesecake</option>
                    <option value="18" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Roy G Biv</option>
                    <option value="19" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Dallas</option>
                    <option value="20" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Denver</option>
                    <option value="21" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Chicago</option>
                    <option value="22" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Team Spirit</option>
                    <option value="23" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Chocolate N Sea Salt</option>
                    <option value="24" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Cinnamon Bun</option>
                    <option value="25" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Dark Chocolate Toffee</option>
                    <option value="26" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Pecan Pie</option>
                    <option value="27" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Zebra</option>
                    <option value="28" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Puppy Chow</option>
                    <option value="29" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">White Chocolate Oreo</option>
                    <option value="30" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Nutella</option>
                    <option value="31" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Salted Nutty Caramel</option>
                    <option value="32" class="sub_2 or sub_3 or sub_5 or sub_6 or sub_8 or sub_9">Team Kelly</option>
                </select>
            </td>
        </tr>
        <tr>
            <th>Flavor 3:</th>
            <td>
                <select name="fla3Select" class="fla3Select">
                    <option value="0" class="static">- All Flavors -</option>
                    <option value="1" class="sub_3 or sub_6 or sub_9">Old Fashion Butter</option>
                    <option value="2" class="sub_3 or sub_6 or sub_9">Naked Low Salt</option>
                    <option value="3" class="sub_3 or sub_6 or sub_9">Movie Theater</option>
                    <option value="4" class="sub_3 or sub_6 or sub_9">Cheddar Cheese</option>
                    <option value="5" class="sub_3 or sub_6 or sub_9">Jalapeno Cheddar</option>
                    <option value="6" class="sub_3 or sub_6 or sub_9">White Cheddar</option>
                    <option value="7" class="sub_3 or sub_6 or sub_9">White Cheddar & Bacon</option>
                    <option value="8" class="sub_3 or sub_6 or sub_9">Vinegar N Sea Salt</option>
                    <option value="9" class="sub_3 or sub_6 or sub_9">Dill Pickle</option>
                    <option value="10" class="sub_3 or sub_6 or sub_9">Simply Ranch</option>
                    <option value="12" class="sub_3 or sub_6 or sub_9">Ranch With A Kick</option>
                    <option value="13" class="sub_3 or sub_6 or sub_9">Cracked Black Pepper</option>
                    <option value="14" class="sub_3 or sub_6 or sub_9">Kettle</option>
                    <option value="15" class="sub_3 or sub_6 or sub_9">Classic Caramel</option>
                    <option value="16" class="sub_3 or sub_6 or sub_9">Pure Vanilla</option>
                    <option value="17" class="sub_3 or sub_6 or sub_9">NYC Cheesecake</option>
                    <option value="18" class="sub_3 or sub_6 or sub_9">Roy G Biv</option>
                    <option value="19" class="sub_3 or sub_6 or sub_9">Dallas</option>
                    <option value="20" class="sub_3 or sub_6 or sub_9">Denver</option>
                    <option value="21" class="sub_3 or sub_6 or sub_9">Chicago</option>
                    <option value="22" class="sub_3 or sub_6 or sub_9">Team Spirit</option>
                    <option value="23" class="sub_3 or sub_6 or sub_9">Chocolate N Sea Salt</option>
                    <option value="24" class="sub_3 or sub_6 or sub_9">Cinnamon Bun</option>
                    <option value="25" class="sub_3 or sub_6 or sub_9">Dark Chocolate Toffee</option>
                    <option value="26" class="sub_3 or sub_6 or sub_9">Pecan Pie</option>
                    <option value="27" class="sub_3 or sub_6 or sub_9">Zebra</option>
                    <option value="28" class="sub_3 or sub_6 or sub_9">Puppy Chow</option>
                    <option value="29" class="sub_3 or sub_6 or sub_9">White Chocolate Oreo</option>
                    <option value="30" class="sub_3 or sub_6 or sub_9">Nutella</option>
                    <option value="31" class="sub_3 or sub_6 or sub_9">Salted Nutty Caramel</option>
                    <option value="32" class="sub_3 or sub_6 or sub_9">Team Kelly</option>
                </select>
            </td>
        </tr>
    </table>

请定义url的形成方式。 F.E.{url}/[flavor\u one]/[flavor\u two]

对于上面的示例,此代码应该有效:

function cascadeSelect(parent, child){
            var childOptions = child.find('option:not(.static)');
                child.data('options',childOptions);

            parent.change(function(){
                $('#'+parent.data('url_param')).text('/'+$(this).val());
                childOptions.remove();
                child
                    .append(child.data('options').filter('.sub_' + this.value))
                    .change(function(){
                        if($(this).val() != 0){
                            $('#'+child.data('url_param')).text('/'+$(this).val());
                        }
                    })
                    .change();
            })

            childOptions.not('.static, .sub_' + parent.val()).remove();
    }
这是一把小提琴:

这实际上是可行的!!现在我唯一担心的是,如果我选择了3种口味,然后我做出了选择,但我决定改变主意,回到1种口味,url不会改变,它会保留先选择的值。还有,有没有办法将该div放在按钮中?你想雇用我吗我已经更新了小提琴,我想你可以把剩下的都摆好。嘿,我看了看小提琴,但还是和以前一样。还是有不同的联系?
function cascadeSelect(parent, child){
            var childOptions = child.find('option:not(.static)');
                child.data('options',childOptions);

            parent.change(function(){
                $('#'+parent.data('url_param')).text('/'+$(this).val());
                childOptions.remove();
                child
                    .append(child.data('options').filter('.sub_' + this.value))
                    .change(function(){
                        if($(this).val() != 0){
                            $('#'+child.data('url_param')).text('/'+$(this).val());
                        }
                    })
                    .change();
            })

            childOptions.not('.static, .sub_' + parent.val()).remove();
    }