0

Anyone knows why showToast always pops up even if desiredquantity is greater than inventoryCount?

  function checkavailable(){
  var desiredquantity = document.getElementById("bin-Qty").value;
  var inventoryCount = document.getElementById("bin-binItem-quantity").value;
  var itemName = document.getElementById("bin-binItem").value;
  if(desiredquantity > inventoryCount)
  {
    console.log(desiredquantity);
    showToast('There are only ' +inventoryCount +' '+itemName+' left');
  }
  else
  {
    addToTransfer();
  }
}

I have a button to that calls checkavailable

<button type="button"
   onclick ="checkavailable();">
</button>
  • 2
    Convert the values read from DOM to Number. You can use `Number`, `parseFloat`, `parseInt`, Unary Plus, etc. Ex: `parseInt(document.getElementById("bin-Qty").value, 10);` – Tushar Dec 19 '16 at 03:09

1 Answers1

1

Please convert it to number first

Like this

if (+desiredquantity > +inventoryCount) { // + will parse it as number
  console.log(desiredquantity);
  showToast('There are only ' + inventoryCount + ' ' + itemName + ' left');
} else {
  addToTransfer();
}

Or you can use parseInt if value is integer and if value float than use parseFloat

Like this

if (parseInt(desiredquantity) > parseInt(inventoryCount)) {
  console.log(desiredquantity);
  showToast('There are only ' + inventoryCount + ' ' + itemName + ' left');
} else {
  addToTransfer();
}
Anik Islam Abhi
  • 25,137
  • 8
  • 58
  • 80