使用jQuery动态设置值..

时间:2017-04-30 11:48:48

标签: jquery

我正在尝试设置一个我插入到输入字段中的值,并使用jQuery将其动态添加/放置到隐藏输入字段的值部分。我正在使用.val()和.change()方法的组合,这种方法有点工作但不完全。

这是我的简单HTML

<input id="service_amount" name="service_amount" type="text" value="" placeholder="Amount (example 29.00)"/>

<input id="pay_amount" name="amount" type="hidden" value="29.00"/>

这是我的JS

$(function(){
"use strict";

    var myVal1 = $('#service_amount').val();

        $(this).on('change', function(){
            $('#pay_amount').val(myVal1);
        });
});

因此,当我在#service_amount字段中输入一个值时,我需要将该值设置为#pay_amount隐藏字段的值。我知道已经为隐藏字段设置了一个值,但是如您所知,一旦设置了新值,就会删除它。

非常感谢您提供的帮助和建议。

1 个答案:

答案 0 :(得分:0)

这里发生的事情是您正在侦听错误元素上的change事件。

change事件发生在非隐藏元素 - $('#service_amount')上,因此您的更改处理程序应该在该元素上。

$(function(){
"use strict";

    var serviceElem = $('#service_amount'); // caching the selector

    // listen for change event on `$('#service_amount')`
    serviceElem.on('change', function(){
        // Extract the value within the change handler so you get
        // the updated value.
        // We can now use the `$(this)` variable since it points
        // to the correct `$('#service_amount')` element within
        // the event handler.
        var myVal1 = $(this).val(); // could also be `serviceElem.val()`
        $('#pay_amount').val(myVal1);
    });
});