Javascript Jquery在select change成功调用Ajax后删除行

Javascript Jquery在select change成功调用Ajax后删除行,javascript,php,jquery,ajax,twig,Javascript,Php,Jquery,Ajax,Twig,我有一个小枝页,上面有一张帖子表。每行都有带有操作选项的下拉列表。如何删除已处理的行,即下拉选择已更改。这是一张桌子 <tr> <td> <a href="{{ path('posts_show', {'id': report.post.id}) }}"> {{ report.post.title }} </a> </td> <a href="{{ path(

我有一个小枝页,上面有一张帖子表。每行都有带有操作选项的下拉列表。如何删除已处理的行,即下拉选择已更改。这是一张桌子

  <tr>
  <td>
     <a href="{{ path('posts_show', {'id': report.post.id}) }}">
                {{ report.post.title }}
     </a>
   </td>
   <a href="{{ path('ausers_show', {'id': report.reporter.id}) }}">
              {{ report.reporter.firstName }} {{ report.reporter.lastName }}
    </a>
    </td>
    <td>
       <select class="select-status" base-url="{{ path('reports_process', {'report': report.id, 'status': 'status'}) }}">
               <option value="">Process</option>
               <option value="dismiss">Dismiss</option>
               <option value="delete">Delete</option>
     </select>
    </td>
    </tr>

过程
解雇
删除
这个脚本。Ajax调用工作正常,但我无法在成功调用时删除行

   <script>
    $('.select-status').change(function() {
        var url = $(this).attr('base-url');

        url = url.substr(0, url.lastIndexOf("/"));

        url =  url + '/' + $(this).val();

        processReport(url);
    });

    function processReport($url) {
        var $tr = $(this).closest('tr');
        $.ajax({
            type: "PUT",
            url: $url,
            async: true,
            data: { },
            success: function () {
                    $tr.remove();
            }
        });
    }
</script>

$('.select status').change(函数(){
var url=$(this.attr('base-url');
url=url.substr(0,url.lastIndexOf(“/”);
url=url+'/'+$(this.val();
进程报告(url);
});
函数processReport($url){
var$tr=$(this.closest('tr');
$.ajax({
键入:“放置”,
url:$url,
async:true,
数据:{},
成功:函数(){
$tr.remove();
}
});
}

请按以下方式更新脚本块:

<script>
    $('.select-status').change(function() {
        var url = $(this).attr('base-url');

        url = url.substr(0, url.lastIndexOf("/"));

        url =  url + '/' + $(this).val();

        processReport(url, $(this));
    });

    function processReport(url, row) {
        var $tr = row.closest('tr');

        $.ajax({
            type: "PUT",
            url: url,
            async: true,
            data: { },
            success: function () {
                $tr.remove();
            }
        });
    }
</script>

$('.select status').change(函数(){
var url=$(this.attr('base-url');
url=url.substr(0,url.lastIndexOf(“/”);
url=url+'/'+$(this.val();
processReport(url,$(this));
});
函数processReport(url,行){
var$tr=行最近('tr');
$.ajax({
键入:“放置”,
url:url,
async:true,
数据:{},
成功:函数(){
$tr.remove();
}
});
}

我没有对你的代码做太多修改,但是你的代码有很大的改进空间。如果您可以为此共享一把小提琴,我会为您这样做。

请按以下方式更新您的脚本块:

<script>
    $('.select-status').change(function() {
        var url = $(this).attr('base-url');

        url = url.substr(0, url.lastIndexOf("/"));

        url =  url + '/' + $(this).val();

        processReport(url, $(this));
    });

    function processReport(url, row) {
        var $tr = row.closest('tr');

        $.ajax({
            type: "PUT",
            url: url,
            async: true,
            data: { },
            success: function () {
                $tr.remove();
            }
        });
    }
</script>

$('.select status').change(函数(){
var url=$(this.attr('base-url');
url=url.substr(0,url.lastIndexOf(“/”);
url=url+'/'+$(this.val();
processReport(url,$(this));
});
函数processReport(url,行){
var$tr=行最近('tr');
$.ajax({
键入:“放置”,
url:url,
async:true,
数据:{},
成功:函数(){
$tr.remove();
}
});
}

我没有对你的代码做太多修改,但是你的代码有很大的改进空间。如果您可以为此共享一把小提琴,我会为您这样做。

可能是因为函数中使用了错误的$(this)-$(this)引用了一个对象,您正在传递一个string@ThisGuyHasTwoThumbs那我该怎么修呢?我不太理解javascript和DOM,可能是因为函数中的$(this)使用不正确-$(this)引用了一个对象,您正在传递一个string@ThisGuyHasTwoThumbs那我该怎么修呢?我不太懂javascript和DOM