Skip to content Skip to sidebar Skip to footer

Clearing A Textbox Field When A Radio Button Is Selected In Javascript

I have a web form which allows users to donate money using the predefined radio buttons with a value assigned to them (all different numbers). I also have a choose your own amount

Solution 1:

To disable/enable an element you need to set the value of the disabled property to true/false, removing the property doesn't work so you need

$('input[name="am_payment"]').on('click', function() {
  if ($(this).val() === '') {
    $('#theamount').prop('disabled', false);
  } else {
    $('#theamount').prop("disabled", true).val('');
  }
});
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><inputtype="radio"name="am_payment"value="3"checked="checked"><strong>64</strong><inputtype="radio"name="am_payment"value="11"checked="checked"><strong>100</strong><inputtype="radio"name="am_payment"value="32"checked="checked"><strong>250</strong><inputtype="radio"value=""name="am_payment"><label>Other</label><inputtype="text"name="CP_otheramount"value=""id="theamount"disabled="disabled" />

Solution 2:

Use removeAttr instead of removeProp and I have modified your code to accept amounts on textbox based on radio button selected

$('input[name="am_payment"]').on('click', function() {
   if ($(this).val() === '') {
     $('input[name="CP_otheramount"]').val('');
      $('#theamount').removeAttr("disabled");
   }
   else {
      $('#theamount').prop("disabled", "disabled");
      $('input[name="CP_otheramount"]').val($(this).val());
   }
});
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><inputtype="radio"name="am_payment"value="3"checked="checked"><strong>64</strong><inputtype="radio"name="am_payment"value="11"checked="checked"><strong>100</strong><inputtype="radio"name="am_payment"value="32"checked="checked"><strong>250</strong><inputtype="radio"value=""name="am_payment"><label>Other</label><inputtype="text"name="CP_otheramount"value=""id="theamount"disabled="disabled"/>

Update

From your comments I hope you are expecting below functionality.

$('#theamount').on('focus', function() {
  $("input:radio").prop("checked",false);
  $("input[value='']").prop("checked",true);
});
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><inputtype="radio"name="am_payment"value="3"checked="checked"><strong>64</strong><inputtype="radio"name="am_payment"value="11"checked="checked"><strong>100</strong><inputtype="radio"name="am_payment"value="32"checked="checked"><strong>250</strong><inputtype="radio"value=""name="am_payment"><label>Other</label><inputtype="text"name="CP_otheramount"value=""id="theamount"disabled="disabled"/>

Post a Comment for "Clearing A Textbox Field When A Radio Button Is Selected In Javascript"