jQueryとTwitter Bootstrapで削除確認モーダルダイアログを作成する方法
jQueryとTwitter Bootstrapを使ってモーダルダイアログで削除確認を行う
このチュートリアルでは、jQueryとTwitter Bootstrapを使ってモーダルダイアログで削除確認を行う方法を解説します。
必要なもの
- jQuery
- Twitter Bootstrap
手順
- HTML
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>削除確認</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h1>削除確認</h1>
<button type="button" class="btn btn-danger" id="deleteButton">削除</button>
<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="deleteModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="deleteModalLabel">削除確認</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
本当に削除しますか?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">キャンセル</button>
<button type="button" class="btn btn-danger" id="confirmButton">削除</button>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$('#deleteButton').click(function() {
$('#deleteModal').modal('show');
});
$('#confirmButton').click(function() {
// 削除処理を実行
alert('削除しました!');
$('#deleteModal').modal('hide');
});
});
</script>
</body>
</html>
- CSS
/* カスタマイズ用CSS */
- JavaScript
$(document).ready(function() {
$('#deleteButton').click(function() {
$('#deleteModal').modal('show');
});
$('#confirmButton').click(function() {
// 削除処理を実行
alert('削除しました!');
$('#deleteModal').modal('hide');
});
});
説明
-
deleteButton
ボタン: 削除ボタンをクリックするとモーダルダイアログが表示されます。
-
$('#deleteButton').click(function() {...});
カスタマイズ
- 削除確認メッセージやボタンのラベルは自由にカスタマイズできます。
- 削除処理は、実際に削除を行うAPIや関数に置き換えてください。
- モーダルダイ
jQueryとTwitter Bootstrapを使ってモーダルダイアログで削除確認を行うサンプルコード
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>削除確認</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h1>削除確認</h1>
<button type="button" class="btn btn-danger" id="deleteButton" data-id="1">削除</button>
<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="deleteModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="deleteModalLabel">削除確認</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>ID: <span id="deleteId"></span> のデータを削除しますか?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">キャンセル</button>
<button type="button" class="btn btn-danger" id="confirmButton">削除</button>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$('#deleteButton').click(function() {
const id = $(this).data('id');
$('#deleteId').text(id);
$('#deleteModal').modal('show');
});
$('#confirmButton').click(function() {
const id = $('#deleteId').text();
// 削除処理を実行
alert(`ID: ${id} のデータを削除しました!`);
$('#deleteModal').modal('hide');
});
});
</script>
</body>
</html>
このサンプルコードでは、以下の機能が追加されています。
- データIDの表示: モーダルダイアログに削除対象のデータIDを表示します。
- 削除処理:
confirmButton
ボタンがクリックされたら、削除対象のデータIDをコンソールに出力します。
- モーダルダイアログに表示する情報やボタンを追加・削除することができます。
補足
- このコードはあくまで一例です。ご自身の用途に合わせてカスタマイズしてください。
- jQueryとTwitter Bootstrapの最新バージョンを使用していることを確認してください。
jQueryとTwitter Bootstrap以外でモーダルダイアログで削除確認を行う方法
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>削除確認</title>
<style>
/* CSS */
</style>
</head>
<body>
<div class="container">
<h1>削除確認</h1>
<button type="button" class="btn btn-danger" id="deleteButton">削除</button>
<div id="deleteModal" class="modal">
<div class="modal-content">
<span class="close">×</span>
<h2>削除確認</h2>
<p>本当に削除しますか?</p>
<button type="button" class="btn btn-danger" id="confirmButton">削除</button>
<button type="button" class="btn btn-secondary" id="cancelButton">キャンセル</button>
</div>
</div>
</div>
<script>
const deleteModal = document.getElementById('deleteModal');
const deleteButton = document.getElementById('deleteButton');
const closeButton = document.querySelector('.close');
const confirmButton = document.getElementById('confirmButton');
const cancelButton = document.getElementById('cancelButton');
deleteButton.addEventListener('click', () => {
deleteModal.style.display = 'block';
});
closeButton.addEventListener('click', () => {
deleteModal.style.display = 'none';
});
cancelButton.addEventListener('click', () => {
deleteModal.style.display = 'none';
});
confirmButton.addEventListener('click', () => {
// 削除処理を実行
alert('削除しました!');
deleteModal.style.display = 'none';
});
</script>
</body>
</html>
Vue.js
<template>
<div class="container">
<h1>削除確認</h1>
<button type="button" class="btn btn-danger" @click="openModal">削除</button>
<div class="modal" v-if="showModal">
<div class="modal-content">
<span class="close" @click="closeModal">×</span>
<h2>削除確認</h2>
<p>本当に削除しますか?</p>
<button type="button" class="btn btn-danger" @click="deleteData">削除</button>
<button type="button" class="btn btn-secondary" @click="closeModal">キャンセル</button>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
showModal: false,
};
},
methods: {
openModal() {
this.showModal = true;
},
closeModal() {
this.showModal = false;
},
deleteData() {
// 削除処理を実行
alert('削除しました!');
this.showModal = false;
},
},
};
</script>
<style scoped>
/* CSS */
</style>
React.js
import React, { useState } from 'react';
const App = () => {
const [showModal, setShowModal] = useState(false);
const handleOpenModal = () => {
setShowModal(true);
};
const handleCloseModal = () => {
setShowModal(false);
};
const handleDeleteData = () => {
// 削除処理を実行
alert('削除しました!');
setShowModal(false);
};
return (
<div className="container">
<h1>削除確認</h1>
<button type="button" class="btn btn-danger" onClick={handleOpenModal}>削除</button>
{showModal && (
<div className="modal">
<div className="modal-content">
<span className="close" onClick={handleCloseModal}>×</span>
<h2>削除確認</h2>
<p>本当に削除しますか?</p>
<button type="button" class="btn btn-
jquery twitter-bootstrap