我有一個呼叫函式的點擊事件,但它不起作用:
@foreach (var item in Model.OrderDetails)
{
<tr class="text-center" id="@item.DetailId">
<td class="product-remove" onclick="DeleteOrderDetail(@item.DetailId)"><a><span class="ion-ios-close"></span></a></td>
</tr>
}
@section Scripts
{
<script>
function DeleteOrderDetail(orderDetailId) {
debugger;
$.get("/Account/RemoveCart?orderDetailId=" orderDetailId,
function () {
$("#" orderDetailId).hide('slow');
});
</script>
}
錯誤:未捕獲的 ReferenceError:在 HTMLTableCellElement.onclick 中未定義 DeleteOrderDetail
在互聯網上搜索顯示我必須使用 addEventListener 但在這種情況下,我無法將 傳遞@item.DetailId給函式
uj5u.com熱心網友回復:
我們已經在問題的評論中提到了您的語法問題
但是,如果你這樣做
$(".product-remove").on("click", function() {
const $parent = $(this).closest("tr"), detailId = $parent.attr("id");
$.get(`/Account/RemoveCart?orderDetailId=${detailId}`,function()) {
$parent.hide('slow');
});
});
然后不需要行內處理程式或傳遞 ID
上面的代碼替換了您發布的所有代碼
如果動態添加詳細資訊,則需要委托給最近的靜態容器
$("#tableId").on("click",".product-remove", function() {
const $parent = $(this).closest("tr"), detailId = $parent.attr("id");
$.get(`/Account/RemoveCart?orderDetailId=${detailId}`,function()) {
$parent.hide('slow');
});
});
uj5u.com熱心網友回復:
你有一些syntax錯誤。
你沒有關閉}你的函式。
function DeleteOrderDetail(orderDetailId) {
debugger;
$.get("/Account/RemoveCart?orderDetailId=" orderDetailId,
function () {
$("#" orderDetailId).hide('slow');
});
}
在這部分代碼中,您應該將資料傳入''.
<td class="product-remove" onclick="DeleteOrderDetail('@item.DetailId')"><a><span class="ion-ios-close"></span></a></td>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/416293.html
標籤:
