Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- </head>
- <body>
- </body>
- <script>
- var obj = [
- {id:"123", product:"Test1231", price:"456"},
- {id:"123", product:"Test1232", price:"456"},
- {id:"123", product:"Test1233", price:"456"},
- {id:"12", product:"Test124", price:"7272"},
- {id:"12", product:"Test125", price:"7272"},
- {id:"1", product:"Test16", price:"123"}
- ];
- function tableCreate() {
- var body = document.getElementsByTagName('body')[0];
- var tbl = document.createElement('table');
- tbl.style.width = '100%';
- tbl.setAttribute('border', '1');
- var tbdy = document.createElement('tbody');
- for (var i = 0; obj.length > 0; i++) {
- var els = findElements(obj,obj[0].id); //znajdz elementy z tym samym id zamowienia
- obj = removeElements(obj,obj[0].id); //usun je zeby nie byly pozniej pod uwage
- console.log(obj);
- for (var j = 0; j < els.length; j++) {
- var tr = document.createElement('tr');
- var td = document.createElement('td');
- var td2 = document.createElement('td');
- td.appendChild(document.createTextNode(els[j].product));
- tr.appendChild(td);
- if(j==0){ //ustaw rowspan tylko dla 1 elementu i wstaw mu cene (bo dla kazdego z tego zamowienia jest ta sama)
- td2.setAttribute('rowSpan', els.length);
- td2.appendChild(document.createTextNode(els[j].price));
- tr.appendChild(td2);
- }
- tbdy.appendChild(tr);
- }
- }
- tbl.appendChild(tbdy);
- body.appendChild(tbl)
- }
- function findElements(arr,id){
- var ret = arr.filter(x => x.id === id);
- return ret;
- }
- function removeElements(arr, id){
- var ret = arr.filter(x => x.id !== id);
- return ret;
- }
- tableCreate();
- </script>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement