2015-03-13 55 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()); 
});