2015-03-13 100 views
1

我有一个捐赠表单,其中一个选项需要填充一定数量,因为它的固定价格点。我发现并运行了可以正常工作的代码,通过选择无线电输入来填充输入,但我希望以某种方式切换,如果选择另一个选项,则会移除填充的数量。那可能吗?添加单选按钮上的输入值,并删除

这是我现在的工作:

$('input#yearCaring').on('change', function() { 
 
    $('input[name="Amount"]').val($(this).val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div> 
 
    <input type="radio" name="In Honor/Memory Of" value="No" /> 
 
    <label>No Thanks</label> 
 
    <br /> 
 
    <input type="radio" name="In Honor/Memory Of" id="yearCaring" value="100" /> 
 
    <label>Year of Caring</label> 
 
    <br /> 
 
    <input type="radio" name="In Honor/Memory Of" value="In Memory" /> 
 
    <label>In Memory</label> 
 
    <br /> 
 
    <input type="text" name="In Memory Note" style="display: none;" value="" /> 
 
    <input type="radio" name="In Honor/Memory Of" value="In Celebration" /> 
 
    <label>In Celebration</label> 
 
    <br /> 
 
    <input type="text" name="In Celebration Note" style="display: none;" value="" /> 
 
</div> 
 

 
<label>Amount (Canadian Dollars):</label> 
 
<input type="text" name="Amount" required="" value="" />

我怎么会去 '切换' 呢?

fiddle

回答

3

你可以检查所有的单选按钮,只适用于该值,如果它一定的ID如下一致:

$('input:radio').change(function() { 
 
    $('input[name="Amount"]').val((this.id == 'yearCaring') ? this.value : '').prop('disabled',(this.id == 'yearCaring') ? true : false); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<form> 
 
    <div> 
 
     <input name="In Honor/Memory Of" type="radio" value="No" /> 
 
     <label>No Thanks</label> 
 
     <br /> 
 
     <input name="In Honor/Memory Of" id="yearCaring" type="radio" value="100" /> 
 
     <label>Year of Caring</label> 
 
     <br /> 
 
     <input name="In Honor/Memory Of" type="radio" value="In Memory" /> 
 
     <label>In Memory</label> 
 
     <br /> 
 
     <input name="In Memory Note" style="display: none;" type="text" value="" /> 
 
     <input name="In Honor/Memory Of" type="radio" value="In Celebration" /> 
 
     <label>In Celebration</label> 
 
     <br /> 
 
     <input name="In Celebration Note" style="display: none;" type="text" value="" /> 
 
    </div> 
 
    <label>Amount (Canadian Dollars):</label> 
 
    <input name="Amount" required="" type="text" value="" /> 
 
</form>

+1

完美的作品!谢谢! – user2596635 2015-03-13 13:34:06

+0

有没有办法让我可以禁用输入框,而它的无线电值填充?我添加了.attr('disabled','disabled'),但它没有正常工作 – user2596635 2015-03-13 13:54:27

+1

我更新了我认为你所要求的答案。 – j08691 2015-03-13 13:57:56

0

使用这样的

$('input[name="In Honor/Memory Of"]').on('change', function() { 
     $('input[name="Amount"]').val($(this).val()); 
}); 
相关问题