Advertisement
boky8

Zadatak 05 - SUPIT

Dec 21st, 2015
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. window.onload = function () {
  2.     // <select> element s podacima:
  3.     var lbPodaci = $('#lbPodaci')[0];
  4.     // Elementi za prikazivanje info-a:
  5.     var polja = [
  6.         $('#titula')[0],
  7.         $('#grad')[0],
  8.         $('#postanskiBroj')[0],
  9.         $('#datumZaposlenja')[0],
  10.         $('#godisnjaZarada')[0]
  11.     ];
  12.  
  13.     // Pretvaranje valute u broj i datuma u željeni format
  14.     podaci.forEach(function (podatak, index) {
  15.         podatak[5] = podatak[5].toNumber();
  16.         podatak[4] = podatak[4].formatDate();
  17.     });
  18.  
  19.     // Sortiranje po zaradi (index 5 u polju)
  20.     podaci.sort(function (left, right) {
  21.         return left[5] - right[5];
  22.     });
  23.  
  24.     // Dodavanje obrađenih podataka u <select> listu
  25.     podaci.forEach(function (podatak, index) {
  26.         lbPodaci.add(index, podatak[0]);
  27.     });
  28.    
  29.     // OnChange event, prikaži podatke o odabranom zaposleniku
  30.     lbPodaci.onchange = function () {
  31.         var id = Number(this.value);
  32.  
  33.         polja.forEach(function (polje, index) {
  34.             polje.innerHTML = podaci[id][index + 1];
  35.         });
  36.     }
  37.  
  38.     // Okidanje onchange eventa kako bi se prikazale informacije o prvom zaposleniku
  39.     // (kako polja s informacijama ne bi bile na početku prazna)
  40.     lbPodaci.onchange();
  41. }
  42.  
  43. /* ----- Pomoćne funkcije ----- */
  44.  
  45. // Selektor
  46. $ = function (q) {
  47.     return document.querySelectorAll(q);
  48. }
  49.  
  50. // Funkcija za dodavanje elemenata u <select> listu
  51. HTMLSelectElement.prototype.add = function (value, text) {
  52.     var optionNode = document.createElement('option');
  53.     var optionText = document.createTextNode(text);
  54.  
  55.     optionNode.setAttribute('value', value);
  56.     optionNode.appendChild(optionText);
  57.  
  58.     this.appendChild(optionNode);
  59. }
  60.  
  61. // Pretvaranje valute iz stringe u broj
  62. String.prototype.toNumber = function () {
  63.     return Number(this.substr(1).replace(',', '.'));
  64. }
  65.  
  66. // Pretvaranje datuma u željeni format
  67. String.prototype.formatDate = function () {
  68.     return this.split('.').reverse().join('.');
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement