Compare commits

...

3 Commits

Author SHA1 Message Date
Senad Uka
864b917b4f Make place selection possible 2019-04-30 06:48:41 +02:00
Senad Uka
a2f6f033bf Places almost finished 2019-04-28 11:13:46 +02:00
Senad Uka
64f2cb82a8 Scrape kantoni into html file 2019-04-28 09:02:46 +02:00
8 changed files with 1362 additions and 19 deletions

View File

@@ -1,23 +1,8 @@
const db = require('../models/index'); const db = require('../models/index');
const { currentRERequest } = require('../helpers/url'); const { currentRERequest } = require('../helpers/url');
const { regions } = require('../helpers/codes');
const gradovi = [ const gradovi = regions();
{"ime":" Sarajevo","id":"sarajevo"},
{"ime":" Unsko-sanski","id":"unskosanski"},
{"ime":" Posavski","id":"posavski"},
{"ime":" Tuzlanski","id":"tuzlanski"},
{"ime":" Zeničko-dobojski","id":"zenickodobojski"},
{"ime":" Bosansko-podrinjski","id":"bosanskopodrinjski"},
{"ime":" Srednjobosanski","id":"srednjobosanski"},
{"ime":" Hercegovačko-neretvanski","id":"hercegovackoneretvanski"},
{"ime":" Zapadno-hercegovački","id":"zapadnohercegovacki"},
{"ime":" Livanjski","id":"livanjski"},
{"ime":" Banjalučka","id":"banjalučka"},
{"ime":" Dobojsko-Bijeljinska","id":"dobojskobijeljinska"},
{"ime":" Sarajevsko-Zvornička","id":"sarajevskozvornicka"},
{"ime":" Trebinjsko-Fočanska","id":"trebinjskofocanska"},
{"ime":"Distrikt Brčko","id":"distriktbrcko"},
];
const getGrad = (req,res) => { const getGrad = (req,res) => {
@@ -29,10 +14,11 @@ const getGrad = (req,res) => {
} }
const postGrad = async (req, res) => { const postGrad = async (req, res) => {
let request = await currentRERequest(req); const request = await currentRERequest(req);
const nextStep = req.query.nextStep || `/mjesto/${request.uniqueId}`;
request.city = req.body.grad; request.city = req.body.grad;
await request.save(); await request.save();
res.send("Result is " + JSON.stringify(request)); res.redirect(nextStep)
} }
module.exports = { module.exports = {

26
app/controllers/mjesto.js Normal file
View File

@@ -0,0 +1,26 @@
const db = require('../models/index');
const { currentRERequest } = require('../helpers/url');
const { places } = require('../helpers/codes');
const getMjesto = async (req,res) => {
let request = await currentRERequest(req);
const mjesta = places(request.city);
const nextStep = req.query.nextStep || '/';
res.render('mjesto', {
nextStep,
mjesta
});
}
const postMjesto = async (req, res) => {
let request = await currentRERequest(req);
request.place = req.body.mjesto;
console.log("AAA ", req.body);
await request.save();
res.send("Result is " + JSON.stringify(request));
}
module.exports = {
getMjesto,
postMjesto
};

893
app/helpers/codes.js Normal file
View File

@@ -0,0 +1,893 @@
const geographies = [
{
"ime":" Sarajevo",
"id":"sarajevo",
"olxid": "9",
"mjesta":[
{
"ime":"Hadžići",
"id":"hadii",
"olxid":"3817"
},
{
"ime":"Ilidža",
"id":"ilida",
"olxid":"3879"
},
{
"ime":"Ilijaš",
"id":"ilija",
"olxid":"3892"
},
{
"ime":"Sarajevo - Centar",
"id":"sarajevocentar",
"olxid":"3812"
},
{
"ime":"Sarajevo-Novi Grad",
"id":"sarajevonovigrad",
"olxid":"3969"
},
{
"ime":"Sarajevo-Novo Sarajevo",
"id":"sarajevonovosarajevo",
"olxid":"5896"
},
{
"ime":"Sarajevo-Stari Grad",
"id":"sarajevostarigrad",
"olxid":"4048"
},
{
"ime":"Trnovo",
"id":"trnovo",
"olxid":"4063"
},
{
"ime":"Vogošća",
"id":"vogoa",
"olxid":"4126"
}
]
},
{
"ime":" Unsko-sanski",
"id":"unskosanski",
"olxid": "9",
"mjesta":[
{
"ime":"Bihać",
"id":"biha",
"olxid":"75"
},
{
"ime":"Bosanska Krupa",
"id":"bosanskakrupa",
"olxid":"373"
},
{
"ime":"Bosanski Petrovac",
"id":"bosanskipetrovac",
"olxid":"504"
},
{
"ime":"Bužim",
"id":"buim",
"olxid":"374"
},
{
"ime":"Cazin",
"id":"cazin",
"olxid":"857"
},
{
"ime":"Ključ",
"id":"klju",
"olxid":"2362"
},
{
"ime":"Sanski Most",
"id":"sanskimost",
"olxid":"3738"
},
{
"ime":"Velika Kladuša",
"id":"velikakladua",
"olxid":"5122"
}
]
},
{
"ime":" Posavski",
"id":"posavski",
"olxid": "15",
"mjesta":[
{
"ime":"Domaljevac",
"id":"domaljevac",
"olxid":"6144"
},
{
"ime":"Odžak",
"id":"odak",
"olxid":"424"
},
{
"ime":"Orašje",
"id":"oraje",
"olxid":"3252"
},
{
"ime":"Šamac",
"id":"amac",
"olxid":"540"
}
]
},
{
"ime":" Tuzlanski",
"id":"tuzlanski",
"olxid": "15",
"mjesta":[
{
"ime":"Banovići",
"id":"banovii",
"olxid":"2"
},
{
"ime":"Doboj-Istok",
"id":"dobojistok",
"olxid":"1090"
},
{
"ime":"Gradačac",
"id":"gradaac",
"olxid":"1854"
},
{
"ime":"Gračanica",
"id":"graanica",
"olxid":"1826"
},
{
"ime":"Kalesija",
"id":"kalesija",
"olxid":"2129"
},
{
"ime":"Kladanj",
"id":"kladanj",
"olxid":"2319"
},
{
"ime":"Lukavac",
"id":"lukavac",
"olxid":"2840"
},
{
"ime":"Sapna",
"id":"sapna",
"olxid":"5699"
},
{
"ime":"Srebrenik",
"id":"srebrenik",
"olxid":"4391"
},
{
"ime":"Teočak",
"id":"teoak",
"olxid":"5010"
},
{
"ime":"Tuzla",
"id":"tuzla",
"olxid":"4944"
},
{
"ime":"Čelić",
"id":"eli",
"olxid":"2801"
},
{
"ime":"Živinice",
"id":"ivinice",
"olxid":"5774"
}
]
},
{
"ime":" Zeničko-dobojski",
"id":"zenickodobojski",
"olxid": "15",
"mjesta":[
{
"ime":"Breza",
"id":"breza",
"olxid":"704"
},
{
"ime":"Doboj-Jug",
"id":"dobojjug",
"olxid":"1122"
},
{
"ime":"Kakanj",
"id":"kakanj",
"olxid":"2022"
},
{
"ime":"Maglaj",
"id":"maglaj",
"olxid":"2941"
},
{
"ime":"Olovo",
"id":"olovo",
"olxid":"1925"
},
{
"ime":"Tešanj",
"id":"teanj",
"olxid":"4594"
},
{
"ime":"Usora",
"id":"usora",
"olxid":"1087"
},
{
"ime":"Vareš",
"id":"vare",
"olxid":"5037"
},
{
"ime":"Visoko",
"id":"visoko",
"olxid":"5171"
},
{
"ime":"Zavidovići",
"id":"zavidovii",
"olxid":"5548"
},
{
"ime":"Zenica",
"id":"zenica",
"olxid":"4571"
},
{
"ime":"Žepče",
"id":"epe",
"olxid":"2940"
}
]
},
{
"ime":" Bosansko-podrinjski",
"id":"bosanskopodrinjski",
"olxid": "15",
"mjesta":[
{
"ime":"Foča",
"id":"foa",
"olxid":"1289"
},
{
"ime":"Goražde",
"id":"gorade",
"olxid":"1588"
},
{
"ime":"Pale",
"id":"pale",
"olxid":"3546"
}
]
},
{
"ime":" Srednjobosanski",
"id":"srednjobosanski",
"olxid": "6",
"mjesta":[
{
"ime":"Bugojno",
"id":"bugojno",
"olxid":"732"
},
{
"ime":"Busovača",
"id":"busovaa",
"olxid":"810"
},
{
"ime":"Dobretići",
"id":"dobretii",
"olxid":"4151"
},
{
"ime":"Donji Vakuf",
"id":"donjivakuf",
"olxid":"1160"
},
{
"ime":"Fojnica",
"id":"fojnica",
"olxid":"1407"
},
{
"ime":"Gornji Vakuf - Uskoplje",
"id":"gornjivakufuskoplje",
"olxid":"1775"
},
{
"ime":"Jajce",
"id":"jajce",
"olxid":"1960"
},
{
"ime":"Kiseljak",
"id":"kiseljak",
"olxid":"2237"
},
{
"ime":"Kreševo",
"id":"kreevo",
"olxid":"2608"
},
{
"ime":"Novi Travnik",
"id":"novitravnik",
"olxid":"3477"
},
{
"ime":"Travnik",
"id":"travnik",
"olxid":"4678"
},
{
"ime":"Vitez",
"id":"vitez",
"olxid":"5422"
}
]
},
{
"ime":" Hercegovačko-neretvanski",
"id":"hercegovackoneretvanski",
"olxid": "7",
"mjesta":[
{
"ime":"Grad Mostar",
"id":"gradmostar",
"olxid":"3017"
},
{
"ime":"Jablanica",
"id":"jablanica",
"olxid":"1930"
},
{
"ime":"Konjic",
"id":"konjic",
"olxid":"2169"
},
{
"ime":"Neum",
"id":"neum",
"olxid":"3111"
},
{
"ime":"Prozor",
"id":"prozor",
"olxid":"3421"
},
{
"ime":"Ravno",
"id":"ravno",
"olxid":"4769"
},
{
"ime":"Stolac",
"id":"stolac",
"olxid":"4439"
},
{
"ime":"Čapljina",
"id":"apljina",
"olxid":"947"
},
{
"ime":"Čitluk",
"id":"itluk",
"olxid":"1009"
}
]
},
{
"ime":" Zapadno-hercegovački",
"id":"zapadnohercegovacki",
"olxid": "8",
"mjesta":[
{
"ime":"Grude",
"id":"grude",
"olxid":"1892"
},
{
"ime":"Ljubuški",
"id":"ljubuki",
"olxid":"2905"
},
{
"ime":"Posušje",
"id":"posuje",
"olxid":"3268"
},
{
"ime":"Široki Brijeg",
"id":"irokibrijeg",
"olxid":"2708"
}
]
},
{
"ime":" Livanjski",
"id":"livanjski",
"olxid": "10",
"mjesta":[
{
"ime":"Bosansko Grahovo",
"id":"bosanskograhovo",
"olxid":"560"
},
{
"ime":"Drvar",
"id":"drvar",
"olxid":"4640"
},
{
"ime":"Glamoč",
"id":"glamo",
"olxid":"1533"
},
{
"ime":"Kupres",
"id":"kupres",
"olxid":"2635"
},
{
"ime":"Livno",
"id":"livno",
"olxid":"2741"
},
{
"ime":"Tomislavgrad",
"id":"tomislavgrad",
"olxid":"1228"
}
]
},
{
"ime":" Banjalučka",
"id":"banjalučka",
"olxid": "14",
"mjesta":[
{
"ime":"Banja Luka",
"id":"banjaluka",
"olxid":"21"
},
{
"ime":"Gradiška",
"id":"gradika",
"olxid":"305"
},
{
"ime":"Istočni Drvar",
"id":"istonidrvar",
"olxid":"4662"
},
{
"ime":"Jezero",
"id":"jezero",
"olxid":"1965"
},
{
"ime":"Kneževo",
"id":"kneevo",
"olxid":"4147"
},
{
"ime":"Kostajnica",
"id":"kostajnica",
"olxid":"6142"
},
{
"ime":"Kotor Varoš",
"id":"kotorvaro",
"olxid":"2574"
},
{
"ime":"Kozarska Dubica",
"id":"kozarskadubica",
"olxid":"244"
},
{
"ime":"Krupa na uni",
"id":"krupanauni",
"olxid":"382"
},
{
"ime":"Kupres ",
"id":"kupres",
"olxid":"2654"
},
{
"ime":"Laktaši",
"id":"laktai",
"olxid":"2671"
},
{
"ime":"Mrkonjić Grad",
"id":"mrkonjigrad",
"olxid":"3073"
},
{
"ime":"Novi Grad",
"id":"novigrad",
"olxid":"444"
},
{
"ime":"Oštra Luka",
"id":"otraluka",
"olxid":"3737"
},
{
"ime":"Petrovac",
"id":"petrovac",
"olxid":"515"
},
{
"ime":"Prijedor",
"id":"prijedor",
"olxid":"3287"
},
{
"ime":"Prnjavor",
"id":"prnjavor",
"olxid":"3358"
},
{
"ime":"Ribnik",
"id":"ribnik",
"olxid":"2365"
},
{
"ime":"Srbac",
"id":"srbac",
"olxid":"4271"
},
{
"ime":"Čelinac",
"id":"elinac",
"olxid":"979"
},
{
"ime":"Šipovo",
"id":"ipovo",
"olxid":"4509"
}
]
},
{
"ime":" Dobojsko-Bijeljinska",
"id":"dobojskobijeljinska",
"olxid": "15",
"mjesta":[
{
"ime":"Bijeljina",
"id":"bijeljina",
"olxid":"123"
},
{
"ime":"Bosanski Brod",
"id":"bosanskibrod",
"olxid":"421"
},
{
"ime":"Derventa",
"id":"derventa",
"olxid":"1030"
},
{
"ime":"Doboj",
"id":"doboj",
"olxid":"1088"
},
{
"ime":"Donji Žabar",
"id":"donjiabar",
"olxid":"3254"
},
{
"ime":"Lopare",
"id":"lopare",
"olxid":"2800"
},
{
"ime":"Lukavac",
"id":"lukavac",
"olxid":"6029"
},
{
"ime":"Modriča",
"id":"modria",
"olxid":"2996"
},
{
"ime":"Pelagićevo",
"id":"pelagievo",
"olxid":"1856"
},
{
"ime":"Petrovo",
"id":"petrovo",
"olxid":"1827"
},
{
"ime":"Stanari",
"id":"stanari",
"olxid":"1148"
},
{
"ime":"Teslić",
"id":"tesli",
"olxid":"4549"
},
{
"ime":"Tešanj",
"id":"teanj",
"olxid":"4636"
},
{
"ime":"Travnik",
"id":"travnik",
"olxid":"4692"
},
{
"ime":"Tuzla",
"id":"tuzla",
"olxid":"4966"
},
{
"ime":"Ugljevik",
"id":"ugljevik",
"olxid":"5009"
},
{
"ime":"Vukosavlje",
"id":"vukosavlje",
"olxid":"3197"
},
{
"ime":"Šamac",
"id":"amac",
"olxid":"539"
}
]
},
{
"ime":" Sarajevsko-Zvornička",
"id":"sarajevskozvornicka",
"olxid": "16",
"mjesta":[
{
"ime":"Bratunac",
"id":"bratunac",
"olxid":"595"
},
{
"ime":"Han Pijesak",
"id":"hanpijesak",
"olxid":"1904"
},
{
"ime":"Ilijaš",
"id":"ilija",
"olxid":"3947"
},
{
"ime":"Istočni Stari Grad",
"id":"istonistarigrad",
"olxid":"4049"
},
{
"ime":"Kasindo",
"id":"kasindo",
"olxid":"3880"
},
{
"ime":"Kladanj",
"id":"kladanj",
"olxid":"2325"
},
{
"ime":"Lukavica",
"id":"lukavica",
"olxid":"3971"
},
{
"ime":"Milići",
"id":"milii",
"olxid":"6143"
},
{
"ime":"Olovo",
"id":"olovo",
"olxid":"3221"
},
{
"ime":"Osmaci",
"id":"osmaci",
"olxid":"2128"
},
{
"ime":"Pale",
"id":"pale",
"olxid":"3978"
},
{
"ime":"Rogatica",
"id":"rogatica",
"olxid":"3529"
},
{
"ime":"Rudo",
"id":"rudo",
"olxid":"3648"
},
{
"ime":"Sarajevo-Novi Grad",
"id":"sarajevonovigrad",
"olxid":"6069"
},
{
"ime":"Sokolac",
"id":"sokolac",
"olxid":"4183"
},
{
"ime":"Srebrenica",
"id":"srebrenica",
"olxid":"4310"
},
{
"ime":"Trnovo",
"id":"trnovo",
"olxid":"4067"
},
{
"ime":"Ustiprača",
"id":"ustipraa",
"olxid":"1593"
},
{
"ime":"Višegrad",
"id":"viegrad",
"olxid":"5259"
},
{
"ime":"Vlasenica",
"id":"vlasenica",
"olxid":"5456"
},
{
"ime":"Zvornik",
"id":"zvornik",
"olxid":"5684"
},
{
"ime":"Šekovići",
"id":"ekovii",
"olxid":"4475"
},
{
"ime":"Žepa",
"id":"epa",
"olxid":"1906"
}
]
},
{
"ime":" Trebinjsko-Fočanska",
"id":"trebinjskofocanska",
"olxid": "17",
"mjesta":[
{
"ime":"Berkovići",
"id":"berkovii",
"olxid":"4441"
},
{
"ime":"Bileća",
"id":"bilea",
"olxid":"183"
},
{
"ime":"Foča",
"id":"foa",
"olxid":"1287"
},
{
"ime":"Gacko",
"id":"gacko",
"olxid":"1462"
},
{
"ime":"Istočni Mostar",
"id":"istonimostar",
"olxid":"3038"
},
{
"ime":"Kalinovik",
"id":"kalinovik",
"olxid":"2164"
},
{
"ime":"Ljubinje",
"id":"ljubinje",
"olxid":"2884"
},
{
"ime":"Nevesinje",
"id":"nevesinje",
"olxid":"3138"
},
{
"ime":"Trebinje",
"id":"trebinje",
"olxid":"4766"
},
{
"ime":"Čajniče",
"id":"ajnie",
"olxid":"911"
}
]
},
{
"ime":"Distrikt Brčko",
"id":"distriktbrcko",
"olxid": "12",
"mjesta":[
{
"ime":"Brčko",
"id":"brko",
"olxid":"12"
}
]
}
]
const regions = () => {
return geographies.map( (g) => ({ ime: g.ime, id: g.id, olxid: g.olxid }) );
}
const places = (regionId) => {
for (geo of geographies) {
if(geo.id === regionId) {
return geo.mjesta;
}
}
return null;
}
module.exports = {
regions,
places
}

View File

@@ -0,0 +1,18 @@
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.addColumn(
'RealEstateRequests',
'place',
Sequelize.STRING
);
},
down: (queryInterface, Sequelize) => {
return queryInterface.removeColumn(
'RealEstateRequests',
'place'
);
}
};

View File

@@ -12,6 +12,7 @@ module.exports = (sequelize, DataTypes) => {
}, },
email: DataTypes.STRING, email: DataTypes.STRING,
city: DataTypes.STRING, city: DataTypes.STRING,
place: DataTypes.STRING,
}, {}); }, {});
RealEstateRequest.associate = function(models) { RealEstateRequest.associate = function(models) {
// associations can be defined here // associations can be defined here

25
app/views/mjesto.ejs Normal file
View File

@@ -0,0 +1,25 @@
<div class="row center-align">
<h2>U kojem mjestu tražite nekretninu?</h2>
</div>
<form method="POST" id="form-mjesto">
<div class="row center-align">
<ul class="collection with-header">
<% for(const mjesto of mjesta) { %>
<li class="collection-item" > <div id="<%= mjesto.id %>" ><%= mjesto.ime %><a href="#!" class="secondary-content"><i class="material-icons">send</i></a></div></li>
<% } %>
</ul>
<input type="hidden" name="mjesto" id="mjesto" />
</div>
</form>
<script>
$(document).ready( () => {
$(".collection-item").click( (e) => {
const clickedId = $(e.target).attr("id");
$("#mjesto").val(clickedId);
$("#form-mjesto").submit();
});
});
</script>

View File

@@ -1,6 +1,7 @@
const dobrodosli = require('./app/controllers/dobrodosli').getDobrodosli; const dobrodosli = require('./app/controllers/dobrodosli').getDobrodosli;
const { getVrstaNekretnine, postVrstaNekretnine} = require('./app/controllers/vrsta_nekretnine'); const { getVrstaNekretnine, postVrstaNekretnine} = require('./app/controllers/vrsta_nekretnine');
const { getGrad, postGrad } = require('./app/controllers/grad'); const { getGrad, postGrad } = require('./app/controllers/grad');
const { getMjesto, postMjesto } = require('./app/controllers/mjesto');
let express = require("express"); let express = require("express");
const path = require("path"); const path = require("path");
@@ -117,6 +118,10 @@ app.post('/vrstanekretnine', postVrstaNekretnine);
app.get('/grad/:request_id', getGrad); app.get('/grad/:request_id', getGrad);
app.post('/grad/:request_id', postGrad); app.post('/grad/:request_id', postGrad);
app.get('/mjesto/:request_id', getMjesto);
app.post('/mjesto/:request_id', postMjesto);
app.use('/assets', express.static('./app/public')) app.use('/assets', express.static('./app/public'))
app.listen(port, () => console.log(`Example app listening on port ${port}!`)); app.listen(port, () => console.log(`Example app listening on port ${port}!`));

389
tools/kantoni.html Normal file
View File

@@ -0,0 +1,389 @@
<!DOCTYPE>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.4.0.js"></script>
</head>
<body>
<select name="kanton" id="kanton" class="drop-select" onchange="pronadji_gradove()">
<option value="">Iz svih lokacija</option>
<option value="" disabled="">Federacija BiH</option>
<option value="9">&nbsp;Sarajevo</option>
<option value="3">&nbsp;Tuzlanski</option>
<option value="4">&nbsp;Zeničko-Dobojski</option>
<option value="1">&nbsp;Unsko-Sanski</option>
<option value="2">&nbsp;Posavski</option>
<option value="5">&nbsp;Bosansko-podrinjski</option>
<option value="6">&nbsp;Srednjobosanski</option>
<option value="7">&nbsp;Hercegovačko-Neretvanski</option>
<option value="8">&nbsp;Zapadno-Hercegovački</option>
<option value="10">&nbsp;Livanjski</option>
<option value="" disabled="">Republika Srpska</option>
<option value="14">&nbsp;Banjalučka</option>
<option value="15">&nbsp;Dobojsko-Bijeljinska</option>
<option value="16">&nbsp;Sarajevsko-Zvornička</option>
<option value="17">&nbsp;Trebinjsko-Fočanska</option>
<option value="12">Disktrikt Brčko</option>
</select>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="unskosanski" id="unskosanski" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="75">Bihać</option>
<option value="373">Bosanska Krupa</option>
<option value="504">Bosanski Petrovac</option>
<option value="374">Bužim</option>
<option value="857">Cazin</option>
<option value="2362">Ključ</option>
<option value="3738">Sanski Most</option>
<option value="5122">Velika Kladuša</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="posavski" id="posavski" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="6144">Domaljevac</option>
<option value="424">Odžak</option>
<option value="3252">Orašje</option>
<option value="540">Šamac</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="tuzlanski" id="tuzlanski" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="2">Banovići</option>
<option value="1090">Doboj-Istok</option>
<option value="1854">Gradačac</option>
<option value="1826">Gračanica</option>
<option value="2129">Kalesija</option>
<option value="2319">Kladanj</option>
<option value="2840">Lukavac</option>
<option value="5699">Sapna</option>
<option value="4391">Srebrenik</option>
<option value="5010">Teočak</option>
<option value="4944">Tuzla</option>
<option value="2801">Čelić</option>
<option value="5774">Živinice</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="zenickodobojski" id="zenickodobojski" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="704">Breza</option>
<option value="1122">Doboj-Jug</option>
<option value="2022">Kakanj</option>
<option value="2941">Maglaj</option>
<option value="1925">Olovo</option>
<option value="4594">Tešanj</option>
<option value="1087">Usora</option>
<option value="5037">Vareš</option>
<option value="5171">Visoko</option>
<option value="5548">Zavidovići</option>
<option value="4571">Zenica</option>
<option value="2940">Žepče</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="bosanskopodrinjski" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="1289">Foča</option>
<option value="1588">Goražde</option>
<option value="3546">Pale</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="srednjobosanski" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="732">Bugojno</option>
<option value="810">Busovača</option>
<option value="4151">Dobretići</option>
<option value="1160">Donji Vakuf</option>
<option value="1407">Fojnica</option>
<option value="1775">Gornji Vakuf - Uskoplje</option>
<option value="1960">Jajce</option>
<option value="2237">Kiseljak</option>
<option value="2608">Kreševo</option>
<option value="3477">Novi Travnik</option>
<option value="4678">Travnik</option>
<option value="5422">Vitez</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="hercegovackoneretvanski" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="3017">Grad Mostar</option>
<option value="1930">Jablanica</option>
<option value="2169">Konjic</option>
<option value="3111">Neum</option>
<option value="3421">Prozor</option>
<option value="4769">Ravno</option>
<option value="4439">Stolac</option>
<option value="947">Čapljina</option>
<option value="1009">Čitluk</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="zapadnohercegovacki" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="1892">Grude</option>
<option value="2905">Ljubuški</option>
<option value="3268">Posušje</option>
<option value="2708">Široki Brijeg</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="sarajevo" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="3817">Hadžići</option>
<option value="3879">Ilidža</option>
<option value="3892">Ilijaš</option>
<option value="3812">Sarajevo - Centar</option>
<option value="3969">Sarajevo-Novi Grad</option>
<option value="5896">Sarajevo-Novo Sarajevo</option>
<option value="4048">Sarajevo-Stari Grad</option>
<option value="4063">Trnovo</option>
<option value="4126">Vogošća</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="livanjski" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="560">Bosansko Grahovo</option>
<option value="4640">Drvar</option>
<option value="1533">Glamoč</option>
<option value="2635">Kupres</option>
<option value="2741">Livno</option>
<option value="1228">Tomislavgrad</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="grad11" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="645">distriktbrcko</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="banjalučka" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="21">Banja Luka</option>
<option value="305">Gradiška</option>
<option value="4662">Istočni Drvar</option>
<option value="1965">Jezero</option>
<option value="4147">Kneževo</option>
<option value="6142">Kostajnica</option>
<option value="2574">Kotor Varoš</option>
<option value="244">Kozarska Dubica</option>
<option value="382">Krupa na uni</option>
<option value="2654">Kupres </option>
<option value="2671">Laktaši</option>
<option value="3073">Mrkonjić Grad</option>
<option value="444">Novi Grad</option>
<option value="3737">Oštra Luka</option>
<option value="515">Petrovac</option>
<option value="3287">Prijedor</option>
<option value="3358">Prnjavor</option>
<option value="2365">Ribnik</option>
<option value="4271">Srbac</option>
<option value="979">Čelinac</option>
<option value="4509">Šipovo</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="dobojskobijeljinska" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="123">Bijeljina</option>
<option value="421">Bosanski Brod</option>
<option value="1030">Derventa</option>
<option value="1088">Doboj</option>
<option value="3254">Donji Žabar</option>
<option value="2800">Lopare</option>
<option value="6029">Lukavac</option>
<option value="2996">Modriča</option>
<option value="1856">Pelagićevo</option>
<option value="1827">Petrovo</option>
<option value="1148">Stanari</option>
<option value="4549">Teslić</option>
<option value="4636">Tešanj</option>
<option value="4692">Travnik</option>
<option value="4966">Tuzla</option>
<option value="5009">Ugljevik</option>
<option value="3197">Vukosavlje</option>
<option value="539">Šamac</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="sarajevskozvornicka" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="595">Bratunac</option>
<option value="1904">Han Pijesak</option>
<option value="3947">Ilijaš</option>
<option value="4049">Istočni Stari Grad</option>
<option value="3880">Kasindo</option>
<option value="2325">Kladanj</option>
<option value="3971">Lukavica</option>
<option value="6143">Milići</option>
<option value="3221">Olovo</option>
<option value="2128">Osmaci</option>
<option value="3978">Pale</option>
<option value="3529">Rogatica</option>
<option value="3648">Rudo</option>
<option value="6069">Sarajevo-Novi Grad</option>
<option value="4183">Sokolac</option>
<option value="4310">Srebrenica</option>
<option value="4067">Trnovo</option>
<option value="1593">Ustiprača</option>
<option value="5259">Višegrad</option>
<option value="5456">Vlasenica</option>
<option value="5684">Zvornik</option>
<option value="4475">Šekovići</option>
<option value="1906">Žepa</option>
</select>
</span>
</div>
<div style="height:40px;">
<span class="drop-container" style="width: 168px;">
<span class="drop-label">Mjesto</span><span class="drop-arrow"></span>
<select name="" id="trebinjskofocanska" class="drop-select" onchange="stavi_grad()">
<option value="0">Mjesto</option>
<option value="4441">Berkovići</option>
<option value="183">Bileća</option>
<option value="1287">Foča</option>
<option value="1462">Gacko</option>
<option value="3038">Istočni Mostar</option>
<option value="2164">Kalinovik</option>
<option value="2884">Ljubinje</option>
<option value="3138">Nevesinje</option>
<option value="4766">Trebinje</option>
<option value="911">Čajniče</option>
</select>
</span>
</div>
<script>
const stavi_grad = () => {};
const gradovi = [
{"ime":" Sarajevo","id":"sarajevo"},
{"ime":" Unsko-sanski","id":"unskosanski"},
{"ime":" Posavski","id":"posavski"},
{"ime":" Tuzlanski","id":"tuzlanski"},
{"ime":" Zeničko-dobojski","id":"zenickodobojski"},
{"ime":" Bosansko-podrinjski","id":"bosanskopodrinjski"},
{"ime":" Srednjobosanski","id":"srednjobosanski"},
{"ime":" Hercegovačko-neretvanski","id":"hercegovackoneretvanski"},
{"ime":" Zapadno-hercegovački","id":"zapadnohercegovacki"},
{"ime":" Livanjski","id":"livanjski"},
{"ime":" Banjalučka","id":"banjalučka"},
{"ime":" Dobojsko-Bijeljinska","id":"dobojskobijeljinska"},
{"ime":" Sarajevsko-Zvornička","id":"sarajevskozvornicka"},
{"ime":" Trebinjsko-Fočanska","id":"trebinjskofocanska"},
{"ime":"Distrikt Brčko","id":"distriktbrcko"},
];
for (let grad of gradovi) {
const mjesta = [];
$('#' + grad.id).children().each( function() {
const mjesto = $(this).text();
mjesta.push( {
ime: mjesto,
id: mjesto.toLowerCase().replace(/[^a-z]/g,''),
olxid: $(this).val()
});
});
grad.mjesta = mjesta;
}
console.log(JSON.stringify(gradovi));
</script>
</body>
</html>