-1

Hello I would like to make dropdownlist that has two option : 1. special shipping 2. normal shipping

<select>
<option>special shipping</option>
<option>normal shipping</option>
</select>

I want ,If user choose special shipping, it will +100 dollar on the span element

<p><span id="add_dollar"> 5000 </span> dollar </p> 

and it will be 5100

How could I do?

doflamingo
  • 567
  • 5
  • 23

3 Answers3

2

Something like this?

 var initPrice = 5000;

 $('select').on('change', function() {
   if( this.value == 1 ){
  $('#add_dollar').text(initPrice + 100);
   }else{
  $('#add_dollar').text(initPrice);
   }
 })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
 <option value="">Select one</option>
 <option value="1">Special shipping</option>
 <option value="2">Normal shipping</option>
</select>
<p><span id="add_dollar"> 5000 </span> dollar </p>
Tim Barnett
  • 1,012
  • 5
  • 9
2

You can use change event on select and add its current value to span.

var oValue = parseInt($("#add_dollar").text());

$("select").change(function() {
  var val = $(this).val();
  $("#add_dollar").text(val == 'special' ? oValue + 100 : oValue)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="" id="">
  <option value="normal">Normal</option>
  <option value="special">Special</option>
</select>
<p><span id="add_dollar"> 5000 </span> dollar</p>
Nenad Vracar
  • 118,580
  • 15
  • 151
  • 176
0

First of all correct the syntax mistake in the html (option & span). Here's a plain js solution:

var total = 5000;
var dollar = 100;

var update = function(){
  status = window.event.target.value; //this will check all inputs & selects values
  if(status === 'normal')
    document.getElementById('add_dollar').innerHTML = total;
  if(status === 'special')
    document.getElementById('add_dollar').innerHTML = total + dollar;
};
document.addEventListener("input", update);
<select id="shipping">
<option value="normal">normal shipping</option>
<option value="special">special shipping</option>
</select>
<p><span id="add_dollar">5000</span> dollar</p> 
Jens Ingels
  • 806
  • 1
  • 9
  • 12