Vashkar Khan
Vashkar Khan

Reputation: 1

if and else condition

I am making a conditional script with js; if I select the partial option, it does half the amount, but I have incorporated "else" code so, when I select complete option, it's not showing the whole amount.

Here is the code:

var qty1 = $('#payamount').val();
if (qty1 = 'Partial') {
  $('#quantity').change(function() {
    var qty2 = $('#quantity').val();
    var qty3 = qty2 / 2;
    $("#totalprice").val(qty3);
  });
} else if (qty1 = 'Complete') {
  $('#quantity').change(function() {
    var qty2 = $('#quantity').val();
    var qty3 = qty2;
    $("#totalprice").val(qty3);
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pricesection">
  <input type="hidden" id="productPrice" value="340" />
  <select id="payamount">
    <option value="Partial">Partial</option>
    <option value="Complete">Complete</option>
  </select>
  Quantity:
  <select id="quantity">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
  </select>
  pay: Total: $
  <input type="text" id="totalprice" value="" readonly/>
</div>

Upvotes: 0

Views: 75

Answers (1)

mplungjan
mplungjan

Reputation: 178403

You need ONE event handler

$('#payamount').on("change", onchange)
$('#quantity').on("change", onchange).change(); // initialise

function onchange() {
  var qty2 = $('#quantity').val();
  var qty1 = $('#payamount').val();
  var qty3 = qty2;

  if (qty1 === 'Partial') {
    qty3 /= 2;
  }
  $("#totalprice").val(qty3);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pricesection">
  <input type="hidden" id="productPrice" value="340" />
  <select id="payamount">
    <option value="Partial">Partial</option>
    <option value="Complete">Complete</option>
  </select>
  Quantity:
  <select id="quantity">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
  </select>
  pay: Total: $
  <input type="text" id="totalprice" value="" readonly/>
</div>

Upvotes: 2

Related Questions