dongshen9058 2014-10-02 11:18
浏览 27
已采纳

动态第二下拉列表基于第一个下拉列表

Ok, so I researched before asking, but they seem to use complicated stuff like cloning(?) what I need is really simple and I can't do it or don't know if its possible to do in php.

I need the 2nd dropdown-list to appear depending on what is currently selected (before submit) in the first dropdown.

Here is my 1st Dropdown:

<select name="category">
<option value="Vitamin">Vitamin</option>
<option value="Supplement">Supplement</option>
<option value="Therapy Machine">Therapy Machine</option>
</select>

Then for example I selected "Vitamin", the second dropdown options should be

<select name="subcategory">
<option value="Vitamin A">VitaminA</option>
<option value="Vitamin B">VitaminB</option>
<option value="Vitamin C">VitaminC</option>
</select>

I tried doing it in php using ifs. I can't almost understand js, but I think there's a simpler way?... help.

EDITED: Here's the code.

<select name="category" id="category">
   <option value="Vitamin" selected>Vitamin</option>
   <option value="Supplement">Supplement</option>
   <option value="Therapy Machine">Therapy Machine</option>
</select>
<select name="subcategory" id="subcategory">
 <optgroup label="Vitamin">
    <option value="Vitamin A">VitaminA</option>
    <option value="Vitamin B">VitaminB</option>
    <option value="Vitamin C">VitaminC</option>
  </optgroup>
  <optgroup id="B" label="Supplement" disabled>
    <option value="Vitamin A">VitaminA</option>
    <option value="Vitamin B">VitaminB</option>
    <option value="Vitamin C">VitaminC</option>
  </optgroup>
  <optgroup id="C" label="Therapy Machine" disabled>
    <option value="Vitamin A">VitaminA</option>
    <option value="Vitamin B">VitaminB</option>
    <option value="Vitamin C">VitaminC</option>
  </optgroup>
 </select>

And the JS
 <script>
 $(document).ready(function(){
 $("#category").on("change",function(){
    var selectedVal=$( "#category option:selected" ).val();
    $("#subcategory > optgroup").attr("disabled","disabled");
    $('#subcategory > optgroup[label="'+selectedVal+'"]').removeAttr("disabled");
 });  
 });
</script>
  • 写回答

2条回答 默认 最新

  • douji9816 2014-10-02 11:42
    关注

    you can try following code and on Fiddle

    <select name="category" id="cateogery">
        <option value="Vitamin" selected>Vitamin</option>
        <option value="Supplement">Supplement</option>
        <option value="Therapy Machine">Therapy Machine</option>
    </select>
    <select name="subcategory" id="subcategory">
         <optgroup label="Vitamin">
            <option value="Vitamin A">VitaminA</option>
            <option value="Vitamin B">VitaminB</option>
            <option value="Vitamin C">VitaminC</option>
        </optgroup>
        <optgroup id="B" label="Supplement" disabled>
            <option value="Vitamin A">VitaminA</option>
            <option value="Vitamin B">VitaminB</option>
            <option value="Vitamin C">VitaminC</option>
        </optgroup>
        <optgroup id="C" label="Therapy Machine" disabled>
            <option value="Vitamin A">VitaminA</option>
            <option value="Vitamin B">VitaminB</option>
            <option value="Vitamin C">VitaminC</option>
        </optgroup>
    </select>
    

    JQUERY

    $(document).ready(function(){
        $("#category").on("change",function(){
            var selectedVal=$( "#category option:selected" ).val();
            $("#subcategory > optgroup").attr("disabled","disabled");
            //$("#subcategory > optgroup").hide(); // you can also hide option insted make them just disabled
            $('#subcategory > optgroup[label="'+selectedVal+'"]').removeAttr("disabled");
           // $('#subcategory > optgroup[label="'+selectedVal+'"]').show() 
        });  
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测