私は何日もこれを続けてきましたが、損益分岐点に達していないようです。セルの 1 つ (最後のセル) に一連のリンクを表示するテーブルがあります。クリックすると、最後のリンクのテキスト値が変更され (jsf ajax で実装)、それが存在する行のステータスを反映して、「一時停止」から「再開」に、またはその逆になります。ドキュメントが読み込まれ、テキスト リンクが「再開」と表示されるたびに、jQuery を使用して行の背景色を変更しました。これをどのように実装したかについては、以下を参照してください
var defaultval;
$(" table tbody tr td:nth-child(7)").each(function() {
defaultval = $(this).find("a:nth-child(4)").html();
if (defaultval == "resume") {
$(this).parents("tr").addClass("suspended")
}
});
リンクがクリックされ、そのテキスト値が「再開」に変わるたびに、この行の背景色を変更したいので、以下のJQueryコードを書きました
$("table tbody tr td:nth-child(7) ").click(function() {
if ($(this).find("a:nth-child(4)").html() !== "resume") {
$(this).parents("tr").addClass("suspended");
}
else {
$(this).parents("tr").removeClass("suspended");
}
});
リンクをクリックするとうまくいくようでした。しかし、問題は、セル自体とセル内の他のリンクをクリックすると、上記の実装のためにリンクのテキストが変更されずにセルが変更されることです。そして、私がこれを行うとき:
$("table tbody tr td:nth-child(7) a:nth-child(4)").click(function() {
if ($(this).html() !== "resume") {
$(this).parents("tr").addClass("suspended");
}else {
$(this).parents("tr").removeClass("suspended");
}
});
一度変更すると、さらにクリックしても元に戻りません。この効果を、このリンクがクリックされたときのみに制限したいと思います。