我有4个复选框和一个隐藏字段,其中包含四个电子邮件地址中的任何一个,具体取决于所选的选项。如果未选中相应的复选框,则还需要从隐藏字段中删除电子邮件地址。
我不知道如何编写这样的功能,并希望有人能够指出我正确的方向,或者有人可以为我编写脚本吗?
答案 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());
});
});
请注意,这是如何克服您的问题并且可以简化和重构的粗略解决方案。将此作为概念证明。