需要将 id 添加/删除到 "change" 的隐藏字段

Need to append / delete id into hidden field on "change"

我的页面中有许多复选框,每次我单击一个复选框时,我都会得到我感兴趣的 ID,然后我会填写一个隐藏的表格。我的脚本正在运行,但如果我取消选中该复选框,它应该从隐藏字段中删除 id(现在它再次将 id 附加到隐藏字段中)。我该如何编写这样的脚本?到目前为止,这是我的代码:

$(document).ready(function() {
    var string = "";


  $('.checkbox').on('change', function() {
    var subscription_id = $(this).parent().attr('id');
    if(string == "") {
      string = subscription_id;
    } else {
      string = string + ", " + subscription_id;
    }
    $('#select_players').val(string);
    $('#subscription_ids_export').val(string);
  })
})

您可以通过仅从选中的复选框中检索 subscription_id 值而不是每次检索 adding/removing 值来简化此过程。

试试这个:

$('.checkbox').on('change', function() {
    var subscriptionIds = $('.checkbox:checked').map(function() {
        return $(this).parent().prop('id');
    }).get().join(',');
    $('#select_players').val(subscriptionIds);
    $('#subscription_ids_export').val(subscriptionIds);
})

Example fiddle