0

我正在开发一个新网站,我想找到一种添加批量删除选项的方法。

在网站内部,我有一个表格,显示有关用户创建的计划任务的信息。

The table that handle this information have these columns...
| TABLE 'schedule_task' | id, name, starting_date, status

我使用 AJAX 在表中显示所有计划任务。我还有一个删除/编辑按钮,可以将事件发送到后端。

我想在此表中添加一个按钮,用户可以一次删除多个(或所有 /check-all)任务。

到目前为止,我创建了“批量删除”按钮...

   <button type="button" id="bulk_delete" class="btn-xs bulk_delete_button">
   Bulk Delete</button>

当它被点击时发送一个事件......

 $(document).on('click', '.bulk_delete_button', function(event){
    console.log('Bulk Button clicked');                        });

该按钮将事件成功发送到控制台,单击它时我会看到该消息...

控制台日志消息批量删除按钮

现在我在表格左侧添加复选框,以便用户可以一次删除多个任务......

我所做的下一步是创建一个函数,(我想要)进行选择并将用户想要删除的任务的 ID 发送到事件(当单击批量删除按钮时)......

到目前为止,我的尝试是......

 function checkBox_Picks(sourse) {
    check_choises=document.getElementsByName('value');
    for(var i in check_choises)
        check_choises[i].checked=source.checked;

     return check_choises                                  }

我尝试将这个函数返回的'check_choises'传递给另一个函数(“function results() {....},但我无法将一个函数的返回值传递给另一个函数,因为函数 A(source) --> function乙())

您知道我如何将用户的选择(任务的 ID)传递给批量删除按钮吗?

4

1 回答 1

0

首先,您可能需要更改 checkBox_Picks 以实际确定选中哪些复选框(此时您通过为它们分配值来设置它们的状态:)check_choises[i].checked=source.checked;

function checkBox_Picks() {
  var result = []; //This is your array in which the values if a box is checked or not will be written to, ordered as the boxes themselves in document
  check_choices=document.getElementsByName('value');
  for(var i in check_choices)
    result.push(check_choices[i].checked); //Add the 'checked' value to the result

  return result;                                 
}

现在您可以在触发事件时调用该函数并将结果存储在变量中。之后,您可以使用此结果执行其他操作或将其传递给另一个函数(例如,您的“结果”函数)。这可能如下所示:

$(document).on('click', '.bulk_delete_button', function(event){
   console.log('Bulk Button clicked'); 
   var choices = checkBox_Picks(); //Determine the checked boxes
   console.log(choices); //Log the choices
   //Your code here
   //Possibly do something like 'result(choices)'
});
于 2019-03-10T14:51:30.220 回答