我有一个捐赠表格,其中一个选项需要填充一定数量,因为它是一个固定的价格点。我找到并运行了工作正常的代码,以使用无线电输入的选择填充输入,但我希望以某种方式切换它,如果我选择另一个选项,填充的数量将被删除。这可能吗?
这是我现在的工作:
$('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="" />
我将如何"切换"它?
小提琴
您可以检查所有单选按钮,并且仅在与某个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>
使用类似这样的东西
$('input[name="In Honor/Memory Of"]').on('change', function() {
$('input[name="Amount"]').val($(this).val());
});