Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

230
Views
How to show hide div based on multiple dropdown

I am trying to show hide divs based on multiple dropdown selection.

Here is HTML page

<select id="vehicle">
   <option="bike">Bike</option>
   <option="car">Car</option>
</select>
<select id="electric">
   <option="yes">Yes</option>
   <option="no">no</option>
</select>

<div id="car_text">
   <input type="text">
</div>

<div id="bike_text">
   <input type="text">
</div>

And this is jquery i am trying to make but still fail

$(document).ready(function () 
{
  $("#vehicle, #electric").change(function () 
  {
    $("#vehicle, #electric").find("option:selected").each(function () 
    {
      var vehicleSelect = $("#vehicle").attr("value");
      var electricSelect = $("#electric").attr("value");
      if (vehicleSelect == "car" && electricSelect == "yes") 
      {
        $("#car_text").show();
        $("#bike_text").hide();
      } 
      else 
      {
        $("#car_text").hide();
        $("#bike_text").show();
      }
    });
});

});

Thanks for the help

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

You can do it like this:

$(document).ready(function() {
  $("#vehicle, #electric").change(function() {
    var vehicleSelect = $("#vehicle").val();
    var electricSelect = $("#electric").val();
    $("#car_text").toggle(vehicleSelect == "car" && electricSelect == "yes")
    $("#bike_text").toggle(vehicleSelect == "bike" && electricSelect == "yes")
  });
});

There is no reason to loop over each option. Second you should use $("#vehicle").val() not $("#vehicle").attr("value")

Demo

$(document).ready(function() {
  $("#vehicle, #electric").change(function() {
    var vehicleSelect = $("#vehicle").val();
    var electricSelect = $("#electric").val();
    $("#car_text").toggle(vehicleSelect == "car" && electricSelect == "yes")
    $("#bike_text").toggle(vehicleSelect == "bike" && electricSelect == "yes")
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="vehicle">
  <option value="bike">Bike</option>
  <option value="car">Car</option>
</select>
<select id="electric">
  <option value="yes">Yes</option>
  <option value="no">no</option>
</select>

<div id="car_text">
  <input type="text" value="car">
</div>

<div id="bike_text">
  <input type="text" value="bike">
</div>

about 4 years ago · Juan Pablo Isaza Report

0

$(document).ready(function() {

  $("#vehicle").change(function() {
    var vehicle = $('#vehicle').find(":selected").val();
    if (vehicle == 'bike') {
      $("#car_text").addClass('d-none');
      $("#bike_text").removeClass('d-none');
    }
    if (vehicle == 'car') {
      $("#bike_text").addClass('d-none');
      $("#car_text").removeClass('d-none');
    }


  });

});
.d-none {
  display: none;
}
<html>

<body>
  <select id="vehicle">
    <option value="bike">Bike</option>
    <option value="car">Car</option>
  </select>
  <select id="electric">
    <option value="yes">Yes</option>
    <option value="no">no</option>
  </select>

  <div id="car_text" class="d-none">
    <input type="text" placeholder="car">
  </div>

  <div id="bike_text" class="d-none">
    <input type="text" placeholder="bike">
  </div>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js">
  </script>
</body>

</html>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!