将复选框中的值添加/附加到隐藏字段

时间:2017-12-12 14:51:06

标签: jquery checkbox hidden-field

我有4个复选框和一个隐藏字段,其中包含四个电子邮件地址中的任何一个,具体取决于所选的选项。如果未选中相应的复选框,则还需要从隐藏字段中删除电子邮件地址。

我不知道如何编写这样的功能,并希望有人能够指出我正确的方向,或者有人可以为我编写脚本吗?

1 个答案:

答案 0 :(得分:1)

假设你有以下html:

<input type="checkbox" name="email[]" value="email1@example.com">
<input type="checkbox" name="email[]" value="email2@example.com">
<input type="checkbox" name="email[]" value="email3@example.com">
<input type="checkbox" name="email[]" value="email4@example.com">
<input id="hidden" type="hidden" name="hidden">

以下jQuery将为您提供结果。

        $(function() {
        // listen for changes on the checkboxes
        $('input[name="email[]"]').change(function() {
            // have an empty array to store the values in
            let values = [];
            // check each checked checkbox and store the value in array
            $.each($('input[name="email[]"]:checked'), function(){
                values.push($(this).val());
            });
            // convert the array to string and store the value in hidden input field
            $('#hidden').val(values.toString());
        });
    });

请注意,这是如何克服您的问题并且可以简化和重构的粗略解决方案。将此作为概念证明。