你的代碼是不是做你想做的,因爲它是不正確, 試試這個:
<table>
<tr>
<td>itemName</td>
<td>itemPrice<td>
<td><a class='removeRow' id='element-id'>remove</a></td>
<tr>
</table>
$(".removeRow").click(function(e) {
$.post("page.php", { id: $(this).attr("id") })
// if you want the answer from the php page, ex to tell user if the remotion succeeded or not
.done(function(data) {
$(this).parent().parent().hide();
// for example, "data" could be yes/not
alert("Removed: "+data);
});
e.preventDefault();
});
// PHP PAGE
<?php
//DB Connection stuff
$_POST['id'] is what you get, then you have to
echo "yes/not" depending on the esit of the query.
that echo is sent back to ajax request.
應該*隱藏包含元素中的用戶點擊。 e.preventDefault()爲了不使頁面重新加載。
編輯:現在它應該設置您輸入標記值爲「是」並隱藏第th行。 爲什麼在用戶點擊「刪除」時不使用ajax查詢數據庫? 如果你想我可以寫你的代碼。
最後它的工作!非常感謝@布里安奧格登!我已經嘗試過使用查找,但我不知道,我不能讓它工作xD!但隨着你的代碼,它終於奏效了!祝你有美好的一天! – melvnberd
這是因爲你的代碼中的removeRow函數中的「this」並不是你認爲的那樣。 「this」是代碼中的JavaScript窗口對象。這就是爲什麼我通過「這個」來移除行。 jQuery非常好,可以將「this」設置爲被單擊的元素,在這種情況下,這是一個,但這會在removeRow被調用的時候更改,這就是爲什麼我通過「this」來移除行,所以你點擊了 。使用傳遞給removeRow的參數,closet和find將在removeRow中按預期工作。我更新了我的答案,並將參數從「td」重命名爲「anchorElementClicked」。 –
哦!現在我看到了什麼導致錯誤!老實說,我不知道!我今天學了些新東西!謝謝你!用我現在提供的東西來更新我的代碼! – melvnberd