我有一个包含多个具有相同名称的输入的表单:
<div data-payment-option="credit-card">
<input type="radio" name="payment-option" value="credit-card">
<input type="radio" name="credit-card" value="mastercard">
<input type="radio" name="credit-card" value="visa">
</div>
<div data-payment-option="paypal">
<input type="radio" name="payment-option" value="paypal">
</div>
<div data-payment-option="wetransfer">
<input type="radio" name="payment-option" value="wetransfer">
</div>
我的问题是:
当表单提交时,如果收音机'payment-option'选择了'paypal',我想覆盖form['credit-card'] = 'paypal'
;同样适用于'湿转移'。我想在提交时这样做,因为如果付款选项是“信用卡”,我想保留“万事达卡”或“签证”。
我试过了:
$('form').on('submit', function(ev){
form['credit-card'] = 'paypal'
// and
$('input[name=credit-card]').val('paypal')
})
但是当我记录输入的值时,我得到了未定义的
答案 0 :(得分:1)
尝试:(https://jsfiddle.net/k44n0ak0/)
$('form').on('submit', function(ev){
if($('input[name="payment-option"]:checked').val() === 'paypal') {
var $pp = $('<input type="radio" name="credit-card" value="paypal">');
$pp.prop('checked', true);
$(this).append($pp);
}
})