使用Laravel 5.4中的Javascript从数据库中删除选定的复选框?

使用Laravel 5.4中的Javascript从数据库中删除选定的复选框?,javascript,laravel,checkbox,Javascript,Laravel,Checkbox,我再次来这里寻求帮助。我的页面视图中有分页页面结果。当我使用复选框在结果列表中选择2行或更多行时,我希望使用分页外的按钮将它们从列表以及数据库中删除。我发现一个JS脚本可以将它们从列表中删除,但无法将其从数据库中删除。我可以想象我想要发生什么,但我不太熟悉JS脚本,我确实在这里输入代码不知道如何在其中包含一个脚本,该脚本可以删除选定的(ID)数据行数组并将其从数据库中删除。请有人能评估我的代码,并教我在哪里和如何这样做。我在这儿真是累坏了。除非我能解决我的大问题,否则我无法继续 这是JS脚本。。

我再次来这里寻求帮助。我的页面视图中有分页页面结果。当我使用复选框在结果列表中选择2行或更多行时,我希望使用分页外的按钮将它们从列表以及数据库中删除。我发现一个JS脚本可以将它们从列表中删除,但无法将其从数据库中删除。我可以想象我想要发生什么,但我不太熟悉JS脚本,我确实
在这里输入代码
不知道如何在其中包含一个脚本,该脚本可以删除选定的(ID)数据行数组并将其从数据库中删除。请有人能评估我的代码,并教我在哪里和如何这样做。我在这儿真是累坏了。除非我能解决我的大问题,否则我无法继续

这是JS脚本。。。它工作得很好

    <script>
  function delBoxes(){
    var e = document.getElementsByName("chkrow");
    var message  = 'Are you sure you want to delete?';
    var row_list = {length: 0};

    for (var i = 0; i < e.length; i++) {
        var c_box = e[i];

        if (c_box.checked == true) {
            row_list.length++;

            row_list[i] = {};
            row_list[i].row = c_box.parentNode.parentNode;
            row_list[i].tb  = row_list[i].row.parentNode;
        }
    }

    if (row_list.length > 0 && window.confirm(message)) {
        for (i in row_list) {
            if (i == 'length') {
                continue;
            }
            var r = row_list[i];
            r.tb.removeChild(r.row);
        }
    } else if (row_list.length == 0) {
        alert('Please select row to delete.');
    }
}
</script>

函数delBoxes(){
var e=document.getElementsByName(“chkrow”);
var message='您确定要删除吗?';
var row_list={length:0};
对于(变量i=0;i0&&window.confirm(消息)){
对于(第_行列表中的i){
如果(i='length'){
继续;
}
var r=行列表[i];
r、 肺结核移除儿童(r.row);
}
}else if(row_list.length==0){
警报('请选择要删除的行');
}
}
这是Href(按钮状)


这是我的路线:路线::获取('/postDelete\u inv\u selected','InvController@postDelete_inv_selected');
和我的控制器(在我可以获得所选行的数组之前不固定)
已选择公共功能删除后库存(请求$请求)
{
///在此处删除代码/重定向回分页结果
}

更新了以下代码:

我不确定我是否正确理解了您的代码,因为您没有包含代码的HTML,但从外观上看,应该删除您已经提到的HTML中的

对于DB部分,我建议您收集要在代码的循环部分中删除的项目的
id
,使其看起来像这样:

// array declaration    
var id_to_delete = [];

for (var i = 0; i < e.length; i++) {
    var c_box = e[i];
    if (c_box.checked == true) {
        row_list.length++;
        row_list[i] = {};
        row_list[i].row = c_box.parentNode.parentNode;
        row_list[i].tb  = row_list[i].row.parentNode;

        // collect the id of the rows to delete
        id_to_delete.push(c_box.value);
    }
}

// send a request to server
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "/postDelete_inv_selected", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send( "id_to_delete=" + JSON.stringify(id_to_delete) );
//数组声明
var id_to_delete=[];
对于(变量i=0;i
可能带有html
id
data-
属性(即

然后通过AJAX请求在路由上将其作为字符串化json或数组传递,然后在控制器上处理删除操作

此外,最好将路线替换为
post
,而不是
get


注意:我还没有测试这些行,但是我很确定你已经知道从哪里开始了。

这是我的HTML表。请告诉我如何在JS foreach中收集它们($key=>d){{{$d->id}{$d->article}{{$d->date{$d->unit measure}{{$d->unit measure}{$d->unit value}}{{$d->onhand_quantity}{{$d->tot_value}}endforeach无法在foreach中插入@这就是我删除字符的原因,请从代码中忽略它,您已经在复选框的值上设置了它,只需获取并收集它(
c_box.value
).c_box.value;$.ajax({type:“POST”,数据:{c_box:c_box},url:“postDelete_inv_selected”,});更新了上面的代码。我刚刚意识到我之前发送了一个指向使用JQuery的示例的链接。
// array declaration    
var id_to_delete = [];

for (var i = 0; i < e.length; i++) {
    var c_box = e[i];
    if (c_box.checked == true) {
        row_list.length++;
        row_list[i] = {};
        row_list[i].row = c_box.parentNode.parentNode;
        row_list[i].tb  = row_list[i].row.parentNode;

        // collect the id of the rows to delete
        id_to_delete.push(c_box.value);
    }
}

// send a request to server
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "/postDelete_inv_selected", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send( "id_to_delete=" + JSON.stringify(id_to_delete) );