JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://cdn.datatables.net/1.10.0/js/jquery.dataTables.js"></script>
<link rel="stylesheet" href="http://cdn.datatables.net/1.10.0/css/jquery.dataTables.css">
<div id="dialog-confirm" title="Error">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 0px 0;"></span>Please fill all the required fields!</p>
</div>
<br />Name:
<input type="text" name="name" id="name" />
<br />Age:
<input type="text" name="age" id="age" />
<br />Gender:
<br />
<input type="radio" name="gender" value="Male" />Male
<br />
<input type="radio" name="gender" value="Female" />Female
<br />
<button id="Save" name="Save">Save</button>
<div class="container well">
<table id="myTable" class="table table-striped table-bordered" cellspacing="0" width="100%"></table>
</div>
CSS
html {
background: repeat-x scroll 0 0;
overflow-y: scroll;
}
body {
background: no-repeat scroll center top transparent;
font-family:"Arial", "Helvetica", "Verdana", "sans-serif";
font-size: 10px;
margin: 0;
min-height: 100%;
padding: 0 0 20px;
}
JavaScript
$("#dialog-confirm").dialog({
resizable: false,
height: 140,
modal: true,
autoOpen: false,
buttons: {
"Close": function () {
$(this).dialog("close");
}
}
});
var data = JSON.parse(localStorage.getItem('dataSet')) || [];
var dataSet = [data];
$('#myTable').dataTable({
"data": dataSet,
"columns": [{
"title": "Name"
}, {
"title": "Age"
}, {
"title": "Gender"
}, {
"title": "Action"
}],
"bStateSave": true,
"stateSave": true,
"bPaginate": false,
"bLengthChange": false,
"bFilter": false,
"bInfo": false,
"bAutoWidth": false
});
oTable = $('#myTable').DataTable();
$('#Save').click(function () {
if ($('#name').val() == '' || $('#age').val() == '' || $("input[name='gender']:checked").val() == undefined) {
$("#dialog-confirm").dialog("open");
} else {
var data = [
$('#name').val(),
$('#age').val(),
$("[name='gender']:checked").val(),
"<button class='delete'>Delete</button>"];
oTable.row.add(data).draw();
var dataset =JSON.stringify(data);
localStorage.setItem('dataSet', dataset);
}
});
$(document).on('click', '.delete', function () {
var row = $(this).closest('tr');
oTable.row(row).remove().draw();
});