1
當用戶單擊索引頁上的刪除按鈕時。模式彈出,第一個函數將URL路徑傳遞給模式中的刪除按鈕的taskdestroylink
屬性。到現在爲止一切正常。每次我點擊鏈接屬性得到適當的設置。變量設置不正確
第二個功能是將AJAX請求發送到服務器。在頁面重新加載第一個請求工作正常,但第二個保持第一個的路線。因此var href
第一次正確設置,但如果我嘗試刪除另一個任務,href
值仍屬於第一個。這很奇怪,因爲我提到taskdestroylink
屬性顯示DOM中的新值。
那麼var href = $(this).data("taskdestroylink");
有什麼問題?爲什麼它沒有設定新的價值?
<li>
<a href="#" data-toggle="modal" role="button" data-target="#delete-task-modal" class="open-delete-task-modal" data-taskdeletelink="<%= user_task_path(current_user, task) %>">Delete Task</a>
</li>
模態:
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" id="deletetaskclose">Close</button>
<a href="#" id="delete-task-link" type="button" class="btn btn-danger" data-taskdestroylink >Delete Task</a>
</div>
JS:
$(document).on('click', '.open-delete-task-modal', function (event) {
var taskDeleteLink = $(this).data("taskdeletelink");
$('#delete-task-link').attr("data-taskdestroylink", taskDeleteLink);
});
$(document).on('click', '#delete-task-link', function (event) {
var href = $(this).data("taskdestroylink");
alert(href);
$.ajax({
type: "DELETE",
url: href,
dataType: "script"
});
});
你爲什麼要混合data()和attr()? – epascarello
你是什麼意思? –
您正在使用data()讀取並寫入attr() – epascarello