当用户使用JavaScript键入文本框时,清除单选按钮值

时间:2018-01-11 06:18:14

标签: javascript php jquery

当用户在文本框中键入内容时,我正在尝试清除单选按钮值。

当用户从单选按钮中选择该值时,该值出现在文本框中,如果用户想要输入不同的数量,则必须清除单选按钮值。

我该怎么做?

以下是代码:

 <input type="radio" name="a1" value="1000" <?php if ($a1 == '1000') { echo "checked"; } ?>><label>&#x20B9;1000</label><br/>

 <input type="radio" name="a1" value="2000" <?php if ($a1 == '2000') { echo "checked"; } ?> ><label>&#x20B9; 2000</label><br/>

 <input type="radio" name="a1" value="12000" <?php if ($a1 == '12000') { echo "checked"; } ?> ><label>&#x20B9;12000</label><br/>
 <input type="radio" name="a1" value="12000" <?php if ($a1 == '10000 ') { echo "checked"; } ?>><label>&#x20B9; 10000 -Skilling a person</label>

<script>
   $('input[type=radio]').click(function(e) {//jQuery works on clicking radio box
   var value = $(this).val(); //Get the clicked checkbox value
   var check = $(this); //Get the clicked checkbox properties (like ID, value, class etc) 

   $('[name="amount"]').val(value);

        });
 </script>



    <div>
       <label>My Contribution</label>
       <input type="text" name="amount" id="amount" value="<?php echo $amount; ?>"  placeholder="&#x20B9; Any Amount" required="">
    </div>

8 个答案:

答案 0 :(得分:1)

 <input type="text" name="amount" id="amount" value="<?php echo $amount; ?>"  placeholder="&#x20B9; Any Amount" required="" onClick="uncheckRadio();">

<script>
function uncheckRadio(){
   $('input[name="a1"]').removeAttr("checked");
}
</script>

答案 1 :(得分:1)

希望这会对你有所帮助。

&#13;
&#13;
$('input[type=radio]').click(function(e) {
  $('#amount').val($(this).val());
});

$('#amount').keyup(function(e) {
  $('input[type="radio"]').prop('checked', false);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="radio" name="a1" value="1000">
<label>&#x20B9; 1000</label><br/>
<input type="radio" name="a1" value="2000">
<label>&#x20B9; 2000</label><br/>
<input type="radio" name="a1" value="12000">
<label>&#x20B9; 12000</label><br/>
<input type="radio" name="a1" value="12000">
<label>&#x20B9; 10000 -Skilling a person</label>
<div>
  <label>My Contribution</label>
  <input type="text" name="amount" id="amount" value=""  placeholder="&#x20B9; Any Amount" required="">
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

你可以在文本框的更改事件中尝试这样的事情

$('[name="amount"]').on('change',function(){
var radioValue = 0;

if($('input[type=radio]').is(':checked') == true)
{
  radioValue = $('input[type=radio]:checked').val();
}
if(radioValue !== $(this).val()){
  $('input[type=radio]').removeAttr('checked');
}

});

答案 3 :(得分:0)

$('input[name=a1]').prop('checked',false);

答案 4 :(得分:0)

由于您没有提到jquery版本,请检查以下内容:

在使用1.6之前的jQuery版本中:

$('input[name="correctAnswer"]').attr('checked', false);

在1.6之后的jQuery版本中你应该使用:

$('input[name="correctAnswer"]').prop('checked', false);

检查以下示例:

$(function(){
  $('#button').click(function(){
    $('input[type="radio"]').prop('checked', false);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<label><input type="radio" checked>Yes</label>
<label><input type="radio">No</label>

<input type="button" id="button" value="Clear">

答案 5 :(得分:0)

在jquery中创建一个函数,选择($)输入字段并给它一个属性removeattr检查! .removeAttr(&#39;检查&#39)

答案 6 :(得分:0)

此处为解决方案fiddle

&#13;
&#13;
//to set input vaue from selected radio selection
$("input[name=amount]").change(function(){
	$('#amount').val($(this).val());
});

//to reset radio selection
$('#amount').keyup(function() {
	$("input[name=amount]").prop('checked', false);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="amount" type="radio" value="100"> 100
<input name="amount" type="radio" value="200"> 200
<input name="amount" type="radio" value="300"> 300
<input name="amount" type="radio" value="400"> 400
<br><br>
Amount: <input type="text" id="amount">
&#13;
&#13;
&#13;

答案 7 :(得分:0)

我认为这是更好更好的方式:)没有jquery)

    var selectVal;

    document.addEventListener('click',function(event){
      if(event.target.name === 'a1'){
        selectVal = event.target.value;
        document.querySelector('#amount').value = selectVal;
      }
    })

    document.addEventListener('input', function(event){
      if(event.target.name === 'amount' && event.target.value !== selectVal){
         var checkedRadio = document.querySelector('input[type="radio"]:checked');
          if(checkedRadio) {checkedRadio.checked = false;}
      }
    })