更新单选字段 select
update field on radio select
在一个表单中,我有一组单选按钮,其中包含固定的捐赠金额和用户可以输入选择金额的另一个字段。为简单起见,在处理表单时,我想要一个功能,其中选择的任何内容都会填充到另一个字段中。我有下面的 HTML/JS:
$("input[id^='radio']").click(function() {
$("input[name='otheramount']").val(jQuery(this).val());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="radio-select">
<input type="radio" name="selamount" id="amount-1" value="10.00">
<label for="amount-1"></label>
</div>
<div class="radio-select">
<input type="radio" name="selamount" id="amount-2" value="15.00">
<label for="amount-2"></label>
</div>
<div class="radio-select">
<input type="radio" name="selamount" id="amount-3" value="20.00">
<label for="amount-3"></label>
</div>
<div class="radio-select">
<input type="radio" name="selamount" id="amount-3" value="20.00">
<label for="amount-4"></label>
</div>
<div class="form-group other-amount col-lg-3 col-md-8 col-xs-12 padd-top-10"></div>
<input type="text" id="otheramount" name="otheramount" value="" placeholder="Or Other Amount">
我也试过了
<input type="radio" name="selamount" id="amount-3" value="20.00" onclick="document.getElementById('otheramount').value = this.value">
但是当第一个发生变化时,它不会在随后的点击中发生变化。
None 的 ID 以 "radio," 开头,这是您的 [id^='radio']
选择器试图匹配的。
它们以 "amount" 开头,因此您应该使用:
$("input[id^='amount']").click(...
此外,这里还有一个可用于标签的技巧。
而不是做:
<input type="radio" name="selamount" id="amount-1" value="10.00">
<label for="amount-1"></label>
…你可以将输入放在标签内,避免完全使用 for
属性:
<label>
<input type="radio" name="selamount" id="amount-1" value="10.00">
</label>
工作代码段
$("input[id^='amount']").click(function() { //CHANGE THIS
$("input[name='otheramount']").val(jQuery(this).val());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="radio-select">
<label>
<input type="radio" name="selamount" id="amount-1" value="10.00">
</label>
</div>
<div class="radio-select">
<label>
<input type="radio" name="selamount" id="amount-2" value="15.00">
</label>
</div>
<div class="radio-select">
<label>
<input type="radio" name="selamount" id="amount-3" value="20.00">
</label>
</div>
<div class="radio-select">
<label>
<input type="radio" name="selamount" id="amount-3" value="20.00">
</label>
</div>
<div class="form-group other-amount col-lg-3 col-md-8 col-xs-12 padd-top-10">
<input type="text" id="otheramount" name="otheramount" value="" placeholder="Or Other Amount">
在一个表单中,我有一组单选按钮,其中包含固定的捐赠金额和用户可以输入选择金额的另一个字段。为简单起见,在处理表单时,我想要一个功能,其中选择的任何内容都会填充到另一个字段中。我有下面的 HTML/JS:
$("input[id^='radio']").click(function() {
$("input[name='otheramount']").val(jQuery(this).val());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="radio-select">
<input type="radio" name="selamount" id="amount-1" value="10.00">
<label for="amount-1"></label>
</div>
<div class="radio-select">
<input type="radio" name="selamount" id="amount-2" value="15.00">
<label for="amount-2"></label>
</div>
<div class="radio-select">
<input type="radio" name="selamount" id="amount-3" value="20.00">
<label for="amount-3"></label>
</div>
<div class="radio-select">
<input type="radio" name="selamount" id="amount-3" value="20.00">
<label for="amount-4"></label>
</div>
<div class="form-group other-amount col-lg-3 col-md-8 col-xs-12 padd-top-10"></div>
<input type="text" id="otheramount" name="otheramount" value="" placeholder="Or Other Amount">
我也试过了
<input type="radio" name="selamount" id="amount-3" value="20.00" onclick="document.getElementById('otheramount').value = this.value">
但是当第一个发生变化时,它不会在随后的点击中发生变化。
None 的 ID 以 "radio," 开头,这是您的 [id^='radio']
选择器试图匹配的。
它们以 "amount" 开头,因此您应该使用:
$("input[id^='amount']").click(...
此外,这里还有一个可用于标签的技巧。
而不是做:
<input type="radio" name="selamount" id="amount-1" value="10.00">
<label for="amount-1"></label>
…你可以将输入放在标签内,避免完全使用 for
属性:
<label>
<input type="radio" name="selamount" id="amount-1" value="10.00">
</label>
工作代码段
$("input[id^='amount']").click(function() { //CHANGE THIS
$("input[name='otheramount']").val(jQuery(this).val());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="radio-select">
<label>
<input type="radio" name="selamount" id="amount-1" value="10.00">
</label>
</div>
<div class="radio-select">
<label>
<input type="radio" name="selamount" id="amount-2" value="15.00">
</label>
</div>
<div class="radio-select">
<label>
<input type="radio" name="selamount" id="amount-3" value="20.00">
</label>
</div>
<div class="radio-select">
<label>
<input type="radio" name="selamount" id="amount-3" value="20.00">
</label>
</div>
<div class="form-group other-amount col-lg-3 col-md-8 col-xs-12 padd-top-10">
<input type="text" id="otheramount" name="otheramount" value="" placeholder="Or Other Amount">