向表单输入添加值

时间:2017-01-05 11:19:18

标签: javascript jquery

我有一个包含多个具有相同名称的输入的表单:

<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')
})

但是当我记录输入的值时,我得到了未定义的

1 个答案:

答案 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);
    }
})