akano1
akano1

Reputation: 41684

how to change the value of a variable based on a select option:selected

I have a select box and I'd like to change the value of variable based on the selected options.

   <form>
          <input type="hidden" value="PIONEER" />
          <select name="select" id="select">
            <option>Select Your Pizza</option>
            <option value="6.65">NY, 10&quot;, £6.65</option>
            <option value="8.95">NY, 12&quot;, £8.95</option>
            <option value="11.95">NY, 16&quot;, £11.95</option>
            <option value="3.45">Chicago, 7&quot;, £3.45</option>
            <option value="6.65">Chicago, 10&quot;, £6.65</option>
            <option value="8.95">Chicago, 12&quot;, £8.95</option>
            <option value="11.95">Chicago, 16&quot;, £11.95</option>
            <option value="19.95">Chicago, Beast 24&quot; x 18&quot;, £19.95</option>
          </select>
          </form>

 $(function() { 
   var selected_pizza = "";
var toppingPrice = 0;
$('#select').change(function() {
    selected_pizza = $('#select option:selected').text();

    alert(selected_pizza);
});
if(selected_pizza.indexOf('Chicago,7') != 1 ) {
     toppingPrice =parseFloat(0.70);
}
if(selected_pizza.indexOf('NY,10') != 1) {
     toppingPrice = parseFloat(0.90);
}
if(selected_pizza.indexOf('NY,12') != 1) {
     toppingPrice = parseFloat(1.05);
}
if(selected_pizza.indexOf('NY,16') != 1) {
     toppingPrice = parseFloat(1.30);
}

});

but this doesn't give me the correct values, is there any other way to do that.

Thanks

Upvotes: 0

Views: 616

Answers (3)

Mutation Person
Mutation Person

Reputation: 30520

Try this:

var selected_pizza;
$('#select').change(function() {
   selected_pizza = $(this).val();
}

Upvotes: 1

slosd
slosd

Reputation: 3484

The text in the option elements contains a space after each comma. The strings you pass to indexOf don't.

Upvotes: 0

Andy Gaskell
Andy Gaskell

Reputation: 31761

Your indexOf calls have don't have spaces after the commas.

Upvotes: 0

Related Questions