【问题标题】:HTML Form first dropdown auto change the second dropdown optionsHTML 表单第一个下拉菜单自动更改第二个下拉选项
【发布时间】:2013-03-25 16:45:58
【问题描述】:

我在第一个下拉菜单中有此代码:

<td align="left" style="padding-bottom:10px">
    <select name="category" id="category">
        <option selected value="Please Select">Please Select</option>           
        <option value="Cars">Cars</option>
        <option value="Trucks">Trucks</option>
        <option value="Motorcycles">Motorcycles</option>
        <option value="Boats">Boats</option>
    </select>
</td>

我还有第二个类别,前一个选项有不同的颜色。 例如: 如果我选择汽车,第二个下拉菜单将显示选择“红色”、“绿色”或“蓝色”,但如果我选择卡车,第二个下拉菜单将显示仅选择“黑色”或“白色”选项。

第二个下拉选项将转到 mySQL DB 中的同一列(子类别),因此没有 Car 可以在 Subcategory 列上具有值“Black”,或者没有 Truck 可以在 Subcategory 列上具有值“Red”。

谢谢

【问题讨论】:

  • 听起来您需要一个 Ajax 类型的解决方案。将它与第一个控件上的“更改选择”事件联系起来。使用结果查询第二个(及后续)控件的可用值。
  • 在没有更多信息的情况下很难提供帮助。后端语言是什么? php?你试过什么?你用jQuery吗?等等……
  • 后端语言为php。我没有使用 jQuery,因为直到现在才需要它

标签: html mysql


【解决方案1】:

工作示例:http://jsfiddle.net/7YeL6/4/

鉴于此结构:

     <select name="category" id="category">
    <option selected value="Please Select">Please Select</option>           
    <option value="Cars">Cars</option>
    <option value="Trucks">Trucks</option>
    <option value="Motorcycles">Motorcycles</option>
    <option value="Boats">Boats</option>
</select>

<div>
<select name="category2" id="truck" class="second">
        <option value="white">white</option>
        <option value="black">black</option>            
</select>

<select name="category2" id="car" class="second">
        <option value="red">red</option>
        <option value="green">green</option>
        <option value="blue">blue</option>           
</select>
</div>

你可以使用 jQuery .change 函数:

       $("#category").change(function () {
  var str = "";
str =  $("select#category option:selected").text();
    if(str == "Trucks"){
        $("select.second").not("#truck").hide();
        $("#truck").show();
        $("#truck").fadeIn(1000);
    }
    else if(str == "Cars"){
        $("select.second").not("#car").hide();
        $("#car").show();
        $("#car").fadeIn(1000);
    }

})

CSS

#category2{
display: none;
}

【讨论】:

  • 这如何适应选择汽车..然后卡车..?
  • i went to js fiddle and when select an option the popup appears with message with the selected option, i get it.但我不知道如何为每个选项编写新的下拉列表。您能否向我提供一个新下拉列表的代码,以生成不同的结果,或者向我展示一些指南之类的方法?游戏新手,抱歉
  • 选择卡车 - 它会起作用。您可以更改它以使其也适用于其他值。
  • @ethrbunny 如果用户选择“卡车”,此示例将加载一组新的选择选项。 OP 可以为他拥有的许多其他项目更改它。这向他展示了如何做到这一点。
  • ma'man 这看起来和工作起来都像一个魅力 ;) 但是借此机会,如果我希望出现第二个下拉列表而不是像现在发生的那样被替换怎么办?从来没有想过“替换”而不是“添加”一个新的下拉列表,但现在我对使用什么有了第二个想法。但是,如果我能做到这两点,然后再决定,那就太好了。再次感谢您!!!
猜你喜欢
  • 2012-06-29
  • 2021-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多