简体   繁体   中英

How to get particular select option based on previous select tag in jQuery?

I want to get option like PCMB and PCMC in select option when I selected SCIENCE as a previous select tag and nothing when I selected Commerce .

<div class="row Time">
    <div class="col-md-4 col-sm-4">
        <p>Course<span class="astric">*</span></p>
        <select class="Academic">
            <option value="">Select</option>
            <option value="" id="Science">Science</option>
            <option value="" id="Commerce">Commerce</option>
            <option value="" id="Arts">Arts</option>
        </select>
    </div>
    <div class="col-md-4 col-sm-4">
        <p>Branch<span class="astric">*</span></p>
        <select class="Academic">
            <option value="" id="Select">Select</option>
            <option value="" id="PCMB">PCMB</option>
            <option value="" id="PCMC">PCMC</option>
            <option value="" id="PCMS">PCMS</option>
        </select>
    </div>
    <div class="col-md-4 col-sm-4">
        <p>Year<span class="astric">*</span></p>
        <select class="Academic">
            <option value="">Select</option>
            <option value="" id="01">01</option>
            <option value="" id="02">02</option>
        </select>
    </div>
</div>

You will have to make couple of changes to your code to achieve your desired result.

  1. You should not include the second select box initially in DOM if you want to show it only after user select a specific value.

  2. You will have to add values to your select Options

  3. You Class or Id to your select boxes

  4. Use Jquery .on('change') function to accomplish your desired result

Use the below code for further reference.

 var selectLevelTwo = '<div class="col-md-4 col-sm-4 select-level-two"><p>Branch<span class="astric">*</span></p><select class="Academic"><option value="" id="Select">Select</option><option value="" id="PCMB">PCMB</option><option value="" id="PCMC">PCMC</option><option value="" id="PCMS">PCMS</option></select></div>'; $(document).on('change', '.select-level-one', function(){ var firstSelectValue = $('.select-level-one option:selected').val(); if(firstSelectValue == 'science'){ $(this).parent().after(selectLevelTwo); } else { $('.select-level-two').fadeOut('fast'); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="row Time"> <div class="col-md-4 col-sm-4"> <p>Course<span class="astric">*</span></p> <select class="Academic select-level-one"> <option value="">Select</option> <option value="science" id="Science">Science</option> <option value="commerce" id="Commerce">Commerce</option> <option value="arts" id="Arts">Arts</option> </select> </div> <div class="col-md-4 col-sm-4"> <p>Year<span class="astric">*</span></p> <select class="Academic"> <option value="">Select</option> <option value="" id="01">01</option> <option value="" id="02">02</option> </select> </div> </div> 

Hope this help

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM