1

I'm trying to add some JavaScript into my HTML for the first time.

Have made it this far from helpful replies on this forum; I have something that I think is close, but doesn't work:

HTML

<select id="carSelect">
  <option></option>
  <option value="Audi">Audi</option>
  <option value="Ferrari">Ferrari</option>
  <option value="Fiat">Fiat</option>
</select>

<p id="choiceDisplay">
  Selection Display
</p> 

JavaScript:

$('select').change(function(){
        const options = $("option");
    let selectedOption = "";
    let displayString = "";
    options.each(function(index){
        let option = options[index];
      if($(option).prop("selected")) {
        selectedOption = $(option).val();
      };
      if(selecetedOption === "Audi") {
        displayString = "Oh I used to have one of those";
      };
    });
    $("#choiceDisplay").empty().append(displayString);
});

I have a jsfiddle link too.

0

2 Answers 2

4

It looks like you just have a typo:

if (selecetedOption === "Audi") {

Anyway, you probably don't need that .each block to get the value from the <select>:

$("select").change((e) => {
  const value = e.target.value || '☝️ Please, select an option';
  const displayString = value === "Audi" ? "Audi - Oh I used to have one of those" : value;

  $("#choiceDisplay").empty().append(displayString);
});
<select id="carSelect">
  <option></option>
  <option value="Audi">Audi</option>
  <option value="Ferrari">Ferrari</option>
  <option value="Fiat">Fiat</option>
</select>

<p id="choiceDisplay">☝️ Please, select an option.</p>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Sign up to request clarification or add additional context in comments.

Comments

2

How about this simple solution? Hope it helps!

$("select").change(function(){
  let displayString = "";
  let selectedOption = $('select[id="carSelect"]');
  displayString = (selectedOption.val() === "Audi") ? selectedOption.val() + " Oh I used to have one of those" : selectedOption.val();
  $("#choiceDisplay").empty().append(displayString);
});
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="carSelect">
  <option></option>
  <option value="Audi">Audi</option>
  <option value="Ferrari">Ferrari</option>
  <option value="Fiat">Fiat</option>
</select>
<p id="choiceDisplay">
  Selection Display
</p>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.