首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时触发Ajax和刷新表

同时触发Ajax和刷新表
EN

Stack Overflow用户
提问于 2013-09-02 06:15:10
回答 4查看 160关注 0票数 0

下面有这样的桌子。

这个表显示了数据库的竞争情况。

代码语言:javascript
复制
<table>
<tbody id="2"><tr><td>name1</td><td><a href="javascript:del(2)"><span>del</span></a></td></tr></tbody>
<tbody id="6"><tr><td>name2</td><td><a href="javascript:del(6)"><span>del</span></a></td></tr></tbody>
</table>

‘'del’链接调用Ajax并从数据库中删除项。

代码语言:javascript
复制
function del(num){
  $.post('{{path('acme_member_delScore')}}',              
    {data1: num },     function(response){
        if(response.code == 100 && response.success){//dummy check
          //do something
           var tbody = document.getElementById(num);
           var tr // i want to get tr
           tbody.removeChild(tr);  

        }
  }, "json");
}

如何刷新表?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-09-02 06:35:45

我建议不要使用两个标签的链接。只使用一种:

代码语言:javascript
复制
<table>
<tr><td>name1</td><td><span data-del="2">del</span></td></tr>
<tr><td>name2</td><td><span data-del="6">del</span></td></tr>
</table>

在同一个处理程序中完成所有操作。并使用“最近”来查找父级TR:

代码语言:javascript
复制
$('span[data-del]').click(function(){
  var obj = $(this);
  var num = $(this).attr('data-del');
  $.post('{{path('acme_member_delScore')}}',              
    {data1: num }, function(response){
    if(response.code == 100 && response.success){
      obj.closest('tr').remove();
    }
  }, "json");
});
票数 2
EN

Stack Overflow用户

发布于 2013-09-02 06:23:38

代码语言:javascript
复制
$.ajax({url: {{path('acme_member_delScore')}}, type: "post",
data: { data1: num },
success: function (data, textStatus, jqXHR) {
// run code here to refresh table
}, error: function(jqXHR, textStatus, errorThrown) {
//run code here to display error
}
});
票数 0
EN

Stack Overflow用户

发布于 2013-09-02 06:34:21

我建议的是,无论如何,当从数据库加载时,表会动态生成。因此,为tr设置id,如

代码语言:javascript
复制
<table>
<tr id="tr_2"><td>name1</td><td><a href="javascript:del(2)"><span>del</span></a></td></tr>
<tr id="tr_6><td>name2</td><td><a href="javascript:del(6)"><span>del</span></a></td></tr>
</table>

这样,在Ajax中,您就可以通过

代码语言:javascript
复制
function del(num){
  $.post('{{path('acme_member_delScore')}}',              
    {data1: num },     function(response){
        if(response.code == 100 && response.success){//dummy check
          //do something
          $("#tr_"+num).remove();
        }
  }, "json");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18566733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档