Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.01 KB | None | 0 0
  1. $(document).ready(function () {
  2. /* Adat beolvasása és megjelenítés */
  3. readToTable();
  4. /* Mentés gombal adat felvitel */
  5. $('body').on('click', '#save', function () {
  6. var firstNameInput = $('#firstName');
  7. var lastNameInput = $('#lastName');
  8. var hiba = $('#hiba');
  9.  
  10. if (firstNameInput.val() == "" || lastNameInput.val() == "") {
  11. hiba.html("A mezők nem lettek kitöltve.");
  12. hiba.show();
  13. } else if (firstNameInput.val().length < 3 || lastNameInput.val().length < 3) {
  14. hiba.html("Legalább 3 karakter megadása kötelező.");
  15. hiba.show();
  16. } else {
  17. hiba.hide();
  18. var stored = JSON.parse(localStorage.getItem('names'));
  19. if (stored === null) {
  20. stored = {
  21. items: [
  22. {
  23. id: 1,
  24. firstName: firstNameInput.val(),
  25. lastName: lastNameInput.val()
  26. }
  27. ]
  28. };
  29. } else {
  30. var editId = $(this).attr('data-id');
  31. if (typeof editId != typeof undefined) {
  32. /* Elem szerkesztése */
  33. $.each(stored.items, function () {
  34. if (parseInt(this.id) == parseInt(editId)) {
  35. this.firstName = firstNameInput.val();
  36. this.lastName = lastNameInput.val();
  37. }
  38. });
  39. $('#save').text('Mentés').removeAttr('data-id');
  40. $('#cancelEdit').remove();
  41. } else {
  42. stored.items.push({
  43. id: stored.items[stored.items.length - 1].id + 1,
  44. firstName: firstNameInput.val(),
  45. lastName: lastNameInput.val()
  46. });
  47. }
  48. }
  49. localStorage.setItem('names', JSON.stringify(stored));
  50.  
  51. readToTable();
  52. }
  53. });
  54. /* Minden törlés gombal adat ürítés */
  55. var body = $('body');
  56.  
  57. body.on('click', '#clearAll', function () {
  58. localStorage.clear();
  59. readToTable();
  60. });
  61.  
  62. //Darabonként való törlés
  63. body.on('click', '.singleDeleteButton', function () {
  64. var deleteitem = $(this).attr('data-id');
  65. var stored = JSON.parse(localStorage.getItem('names'));
  66. var i = 0;
  67. $.each(stored.items, function () {
  68. if (parseInt(this.id) === parseInt(deleteitem)) {
  69. stored.items.splice(i, 1);
  70. }
  71. i++;
  72. });
  73.  
  74. if (stored.items.length > 0) {
  75. localStorage.setItem('names', JSON.stringify(stored));
  76. } else {
  77. localStorage.clear();
  78. }
  79. $(this).closest('tr').remove();
  80. });
  81.  
  82. //Darabonként szerkesztés
  83. body.on('click', '.singleEditButton', function () {
  84. var edited = $(this).attr('data-id');
  85. var stored = JSON.parse(localStorage.getItem('names'));
  86. $.each(stored.items, function () {
  87. if (parseInt(this.id) === parseInt(edited)) {
  88. $('#firstName').val(this.firstName);
  89. $('#lastName').val(this.lastName);
  90. var saveButton = $('#save');
  91. saveButton.attr('data-id', this.id).text('Szerkesztés mentése');
  92. $('#cancelEdit').remove();
  93. saveButton.parent().append('<button id="cancelEdit" class="btn btn-warning">' +
  94. 'Visszavonás' + '</button>');
  95.  
  96. }
  97. });
  98. });
  99.  
  100. body.on('click', '#cancelEdit', function () {
  101. $('#save').text('Mentés').removeAttr('data-id');
  102. $('#firstName').val(" ");
  103. $('#lastName').val(" ");
  104. $(this).remove();
  105. });
  106. });
  107.  
  108. /* megjelenítést küldő funkció */
  109. function readToTable() {
  110. var stored = JSON.parse(localStorage.getItem('names'));
  111. var table = $('#dataTable > tbody');
  112. table.empty();
  113. if (stored == null) {
  114. table.append('<tr><td colspan="3"' +
  115. 'Jelenleg nincs elérhető elem' +
  116. '</td></tr>'
  117. );
  118. } else {
  119. $.each(stored.items, function () {
  120. table.append('<tr>' +
  121. '<td>' +
  122. this.id +
  123. '</td>' +
  124. '<td>' +
  125. this.firstName +
  126. '</td>' +
  127. '<td>' +
  128. this.lastName +
  129. '</td>' +
  130. '<td>' +
  131. '<button class="btn btn-danger singleDeleteButton" data-id="' + this.id + '">' +
  132. '-' + '</button>' +
  133. '</td>' +
  134. '<td>' +
  135. '<button class="btn btn-info singleEditButton" data-id="' + this.id + '">' +
  136. '+' + '</button>' +
  137. '</td>' +
  138. '</tr>'
  139. );
  140. });
  141. }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement