2

<tr>ajax呼び出しのタイトル属性を取得する関数をjavascriptで作成し、何らかの操作の後、それらからいくつかのタイトル属性を取得します。そのタイトル属性に応じて、それらの<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 - $.各反復

オブジェクトと配列の両方をシームレスに反復するために使用できます。

もっと: http://api.jquery.com/jquery.each/

于 2012-09-03T08:27:43.543 に答える
0

thisは「タイトル」(文字列) であり、代わりにeachDOM 要素 () が必要です。<tr>

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

デモ

于 2012-09-03T08:29:31.253 に答える