私は、タスクオブジェクトを破壊するためにブートストラップモーダルを使用しています。インデックスページ上の特定のタスクをクリックすると、モーダルウィンドウがポップアップし、そのタスクの破棄リンクがデータattrによってロードされるため、ユーザが#delete-task-submit
ボタンをクリックしたときにどのタスクが破棄されるべきかがわかります。jquery accessible data-attrs
コードはそのまま動作しますが、#delete-task-submit
の代わりにdata-behavior="delete-task-submit"
を使用して、これはスタイリングとは関係がなく、jsコール専用です。
正しい方法はありますか?私は#delete-task-submit
が最初のjs呼び出しで/ data-task-destroy-link
の設定を見つけるために使用されているので、id/extraクラスを追加せずにそのデータ属性を見つける方法がわからないからです。
<div class="modal fade" id="delete-task-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content" style="text-align:left">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Delete Task</h4>
</div>
<div class="modal-body">
<h4>Are you sure?</h4>
<p> </p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" id="deletetaskclose">Close</button>
<a href="#" id="delete-task-submit" type="button" class="btn btn-danger" data-task-destroy-link >Delete Task</a>
<!-- DESTROY LINK GETS INSERTED HERE -->
</div>
</div>
</div>
</div>
$(document).on('click', '[data-behavior="open-delete-task-modal"]', function (event) {
var taskDeleteLink = $(this).data("task-delete-link");
$('#delete-task-submit').data("task-destroy-link", taskDeleteLink);
});
$(document).on('click', '#delete-task-submit', function (event) {
var href = $(this).data("task-destroy-link");
$.ajax({
type: "DELETE",
url: href,
dataType: "script"
});
});
'$( '[data-task-destroy-link]')' –