2017-08-22 35 views
0

ここで何をしようとしているのは、クリック機能でテーブルのIDを取得してから、削除ボタンをクリックするとそのIDを取得して削除します。ここあるJquery関数から別のJquery関数に変数を渡す

$("table tr").click(function() { 
var id; 
    $(this).removeClass('table-hover'); 
$(this).css("background-color", "#4682B4"); 
id = $(this).find(".id").html(); 
alert("Are you sure you want to delete data with id = " + id); //using just to check if its getting the id of the row 


}); 


$('.btnDelete').click(function() { 


$.ajax({ 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
    type: 'POST', 
    url: 'EmployeeDelete', 
    data: JSON.stringify({ id: id }), 
    success: function (data) { 
       } 
}); 
}); 

私が間違って何をやっている

+0

を使用して固定してしまいましたか? –

+0

私はtrのIDを取得してvar idに保存しています –

答えて

0

次の各行にボタンがあると仮定します。削除する。行のIDを取得する。

テーブルの各行には一意のIDがあります。以下のJquery関数は、「最も近い」メソッドを使用してIDを取得します。そこから削除することができます。ここで

は、コード、テストされていないが、それは

var button = $('.MyButtonClass'); $(button).on('click', function() { 
     var rowID = $(this).closest("tr").attr("id"); 
     //Delete the row }); 
+0

いいえ私は何をしているのですか?私が行をクリックするとIDを取得し、私は削除ボタンをクリックするとその行が削除されます。その理由は、ある関数から別の関数にidを渡す必要があります。 –

+0

次に、グローバル変数を使用してZim84から解を探します。 :-)ブラウザにsession.storageとして保存することができます。ユーザーが行をクリックすると、idはsession.storageに保存されます。ボタンをクリックすると、セッション記憶域が把握され、行が削除されます。確認:https://www.w3schools.com/html/html5_webstorage.asp – Troels

1

あなたの変数IDは、その関数内でのみ有効です。いずれかを試してください - 両方の関数でアクセス可能なスコープで変数を使用する - trタグのhtml-data属性を使用する

+0

ありがとうございます –

1
$("table tbody tr").click(function (event) { 


$(this).removeClass('table-hover'); 
$(this).css("background-color","#4682B4"); 
if (typeof(Storage) !== "undefined") 
{ 
    sessionStorage.empID = $('td.id', this).html(); 
} 
else{ 
    document.getElementById("result").innerHTML = "Sory, browser does not support web storage"; 
    } 

$.ajax({ 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
    type: 'POST', 
    url: 'getID', 
    data: JSON.stringify({ empID: sessionStorage.empID }), 
    success: function (data) { 
    }, 
    failure: function (response) 
    { 
     $('#result').html(response); 
    } 
}); 
}); 

:-)動作するはずです、それはあなたがテーブルのTRでIDを格納しているのsessionStorageおかげでみんな

関連する問題