2016-04-12 4 views
2

テーブルがあり、hrefタグをクリックしてtrを削除します。ここにコードがあります。hrefをクリックして行(TR)を削除します

<tr>         
    <td data-title="ID"> 
      echo '<a href="" onclick="return Deleteqry('.$orderID.')";><font size="2" color="#FF0000"><i class=" fa fa-remove" title="Remove this Row"> </i></a>'; 

    </td> 
</tr> 

<script> 
function Deleteqry(id) 
    { 
     if(confirm("Are you sure you want to delete this Row?")==true) 
    $(this).closest('tr').remove(); 
     return false; 
    } 

</script> 

私はSOの他の質問をチェックし$(this).closest('tr').remove();を見つけたが、それは動作しません。私はエラーはありませんでしたが、行は削除されませんでした。私は警告ボックスを取得していますが、行が削除されていません。

私は間違っていることを教えてください。

+0

このように、 "this"キーワードで文脈を失います。クリック時にメソッドに渡す必要があります。 – Bosworth99

答えて

7

基本的には、thisは通常の機能の中でwindowオブジェクトを指します。

.... onclick="return Deleteqry('.$orderID.', this)";> 

したがって、手動でインラインイベントハンドラ関数に渡す必要があります。

function Deleteqry(id,_this) { 
if(confirm("Are you sure you want to delete this Row?")==true) 
    $(_this).closest('tr').remove(); 
    return false; 
} 

jqueryオブジェクトとして変換して処理します。

+1

あなたの答えをありがとう。投票した。 – Ironic

+2

@CalculatingMachine - この答えを「正しい」として選択する必要があります。その理由は。 – Bosworth99

+0

わかりませんが、エラーが発生します。Uncaught SyntaxError:予期しないトークンです。 – Ironic

関連する問題