Advertisement
caparol6991

Untitled

Jul 18th, 2020
1,210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 1.76 KB | None | 0 0
  1. <html>
  2. <head>
  3.  
  4. </head>
  5. <body>
  6.    
  7. </body>
  8.  
  9. <script>
  10.     var obj = [
  11.         {id:"123", product:"Test1231", price:"456"},
  12.         {id:"123", product:"Test1232", price:"456"},
  13.         {id:"123", product:"Test1233", price:"456"},
  14.         {id:"12", product:"Test124", price:"7272"},
  15.         {id:"12", product:"Test125", price:"7272"},
  16.         {id:"1", product:"Test16", price:"123"}
  17.     ];
  18.     function tableCreate() {
  19.   var body = document.getElementsByTagName('body')[0];
  20.   var tbl = document.createElement('table');
  21.   tbl.style.width = '100%';
  22.   tbl.setAttribute('border', '1');
  23.  
  24.   var tbdy = document.createElement('tbody');
  25.   for (var i = 0; obj.length > 0; i++) {
  26.     var els = findElements(obj,obj[0].id); //znajdz elementy z tym samym id zamowienia    
  27.     obj = removeElements(obj,obj[0].id); //usun je zeby nie byly pozniej pod uwage
  28.     console.log(obj);
  29.     for (var j = 0; j < els.length; j++) {
  30.        var tr = document.createElement('tr');
  31.        var td = document.createElement('td');
  32.        var td2 = document.createElement('td');
  33.        td.appendChild(document.createTextNode(els[j].product));
  34.        tr.appendChild(td);
  35.        if(j==0){ //ustaw rowspan tylko dla 1 elementu i wstaw mu cene (bo dla kazdego z tego zamowienia jest ta sama)
  36.            td2.setAttribute('rowSpan', els.length);
  37.            td2.appendChild(document.createTextNode(els[j].price));
  38.            tr.appendChild(td2);
  39.        }
  40.        tbdy.appendChild(tr);
  41.    }
  42.  }
  43.  tbl.appendChild(tbdy);
  44.  body.appendChild(tbl)
  45. }
  46.  
  47. function findElements(arr,id){
  48.    var ret = arr.filter(x => x.id === id);
  49.     return ret;
  50. }
  51.  
  52. function removeElements(arr, id){
  53.     var ret = arr.filter(x => x.id !== id);
  54.     return ret;
  55. }
  56.  
  57. tableCreate();
  58. </script>
  59. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement