当用户选中或取消选中表单中的复选框时,我正在尝试更新全局数组。然后该数组将被提交给服务器以更新数据库中选中的选项。我已经将选中复选框的 ID 推送到数组中,但不确定如何删除它们。
我创建了一个基本的 jsFiddle 在这里演示:
PS - 稍后将正确命名该数组:)
当用户选中或取消选中表单中的复选框时,我正在尝试更新全局数组。然后该数组将被提交给服务器以更新数据库中选中的选项。我已经将选中复选框的 ID 推送到数组中,但不确定如何删除它们。
我创建了一个基本的 jsFiddle 在这里演示:
PS - 稍后将正确命名该数组:)
由于您每次都在遍历所有复选框,因此只需在开头清空数组并仅将选中的项目放回:
ids = [];
if (this.checked) {
ids.push(this.id);
}
为什么每次点击都会这样做,只需在提交表单时执行 - 您也可以使用 :checked 选择器,而不是选择和迭代您不感兴趣的元素。
正如 jyoseph 所建议的那样-您可以在此处使用序列化数组来构建名称/值数组
例如
$('#submitButton').click( function(ev){
var ids = [];
$(':checkbox:checked').each( function(){
ids.push(this.id);
});
//do something with ids
});