2

我在 javascript 中编写了一个函数,该函数获取<tr>调用 ajax 的标题属性,然后经过一些操作,它会从它们中检索一些标题属性。根据该标题属性,我想删除这些<tr>

function currentTicketStatus() {
    var ids = '';
    $('tbody tr[title]').each(function() {
        ids += ((ids == '') ? '' : ',') + $(this).attr('title');
    });
    $.ajax({
        url: 'ajaxExecute.aspx?Fn=CTS',
        type: 'POST',
        context: document.body,
        cache: false,
        data: 'Tickets=' + ids,
        success: function(response) {
            if (response != '') {
                if (response.substr(0, 5) != 'ERROR') {
                    var sTickets = response.split('|');

                    sTickets.each(function() {
                        $(this).parent().parent().remove();
                    });
                }
            }
        }
    });
}

示例:在ajax 调用ids="100,101,102,103,104"之后的ajax 调用时sTickets="101|102"。现在删除那些具有 sTickets 属性的行

HTML(不完全是)

<tbody>
<tr title="100"> some data part </tr>
<tr title="101"> some data part </tr>
<tr title="102"> some data part </tr>
<tr title="103"> some data part </tr>
</tbody>
4

2 回答 2

0

在您的成功函数中尝试此代码:

 success: function(response) {
            if (response != '') {
                if (response.substr(0, 5) != 'ERROR') {
                    var sTickets = response.split('|');
                    $.each(function(i,v){ $('tr[title=' + v + ']')  }).remove();
                }
            }

解释:

1- 按属性选择 DOM 元素:

   $('[ATTRIBUTE=VALUE]') // $('[title="myTitle"]')

您可以在此链接中找到更多信息http://api.jquery.com/attribute-equals-selector/

2 - $.each 迭代

它可用于无缝迭代对象和数组。

更多:http ://api.jquery.com/jquery.each/

于 2012-09-03T08:27:43.543 回答
0

thisin是each一个“title”(一个字符串),你需要 DOM 元素(the <tr>)来代替

sTickets.each(function() {
  $('tbody tr[title="'+ this +'"]').remove();
});

演示

于 2012-09-03T08:29:31.253 回答