abonnement Unibet Coolblue
  dinsdag 5 maart 2013 @ 20:41:43 #126
12221 Tijn
Powered by MS Paint
pi_123675143
quote:
0s.gif Op dinsdag 5 maart 2013 20:40 schreef pascal08 het volgende:

[..]

Alles-in-1. :)
Dat kan alleen als je het in kleinere problemen opdeelt en die 1 voor 1 tackelt. Je kunt niet alles in 1 keer maken, zo werkt het gewoon niet.
  dinsdag 5 maart 2013 @ 20:48:20 #127
12221 Tijn
Powered by MS Paint
pi_123675509
Ik dacht je zoiets bedoelde:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<table>
  <thead>
    <tr>
      <th>
        <a href="/hier/je/url?sort=a">a</a>
      </th>
      <th>
        <a href="/hier/je/url?sort=b">b</a>
      </th>
      <th>
        <a href="/hier/je/url?sort=c">c</a>
      </th>
      <th>
        <a href="/hier/je/url?sort=d">d</a>
      </th>
    </tr>
  </thead>
  <tbody>
    <!-- hier allemaal rijen met data -->
  </tbody>
</table>

Een tabel met klikbare headers zodat je kunt sorteren op de kolommen.

De simpelste manier om daar een Ajax-variant van te maken is door een eventhandler op het klikken van de headers te zetten, die de nieuwe pagina op laten halen en de data van die pagina in je huidige tabel te injecteren:

1
2
3
4
5
6
7
8
// klik op een header
$('thead a').on('click', function(e) {
  // voorkom de standaardactie (== geen page request)
  e.preventDefault();
  
  // haal de url op en stop de tbody van de opgehaalde pagina in de huidige tbody
  $('table tbody').load($(this).attr('href') + ' table tbody');
});

Heb je daar wat aan of slaat dat nergens op?
  dinsdag 5 maart 2013 @ 20:57:35 #128
319705 pascal08
dr. prof.
pi_123676079
quote:
5s.gif Op dinsdag 5 maart 2013 20:48 schreef Tijn het volgende:
Ik dacht je zoiets bedoelde:
[ code verwijderd ]

Een tabel met klikbare headers zodat je kunt sorteren op de kolommen.

De simpelste manier om daar een Ajax-variant van te maken is door een eventhandler op het klikken van de headers te zetten, die de nieuwe pagina op laten halen en de data van die pagina in je huidige tabel te injecteren:
[ code verwijderd ]

Heb je daar wat aan of slaat dat nergens op?
Ja, dit slaat op wat ik wil.

Misschien is het handiger als ik snap wat er achter de schermen moet gebeuren. Ik denk namelijk dat het zo zit:

1. Gebruiker vraagt pagina op voor de eerste keer
2. Controller roept model aan met standaardwaarden (minimum en maximum nog niet ingesteld) en genereert de pagina.
3. Gebruiker klikt op sorteren van kolom 2.
4. Via ajax wordt een functie in de controller aangeroepen
5. De controller roept een functie in model aan,
met de informatie dat er in de query gesorteerd moet worden op kolom 2.
6. Via ajax wordt alles in de view geïnjecteerd.

Werkt het zo of klopt mijn hele denkpatroon niet?
  dinsdag 5 maart 2013 @ 21:46:04 #129
12221 Tijn
Powered by MS Paint
pi_123679339
Al die model/controller/view-dingen spelen zich af op de server. Die gebruik je om de juiste data op de juiste manier van de server naar de client te sturen.

Waar het nu op gaat is hoe je de data ververst in je client. Dat betekent dat er een request naar je server moet, daar wordt de juiste data verzameld en daarna (dan heb je dus niks meer met MVC te maken) moet die data op de een of andere manier de data op je huidige pagina vervangen. Dat moet met Javascript, want dat is de enige programmeeromgeving die je tot je beschikking hebt in je client.

Wat ik in het voorbeeld hierboven heb gedaan is dezelfde url ophalen die je zonder Ajax-call zou gebruiken ( $(this).attr('href') ). Vervolgens ondersteunt de .load()-functie van jQuery een selector zodat je alleen een gedeelte van dat document gebruikt. In dit geval is dat "table tbody", maar hoe dat precies in jouw website zit, hangt van de structuur op jouw pagina af.

Dit is wel een beetje "poor man's Ajax", omdat je in feite een hele nieuwe pagina opvraagt ipv alleen de nieuwe data.

Als je het écht goed wil doen, moet je je backend aanpassen om bij een Ajax-call alleen de data zelf naar buiten te sturen (bv als JSON) en vervolgens zelf in Javascript een functie schrijven om de gegevens in je JSON-data op de juiste plek in je tabel te zetten. Maar dat vergt dus wel nog wat werk, daar moet je maar net zin in hebben :P

[ Bericht 0% gewijzigd door Tijn op 05-03-2013 21:56:39 ]
  dinsdag 5 maart 2013 @ 21:54:22 #130
319705 pascal08
dr. prof.
pi_123679888
quote:
2s.gif Op dinsdag 5 maart 2013 21:46 schreef Tijn het volgende:
Al die model/controller/view-dingen spelen zich af op de server. Die gebruik je om de juiste data op de juiste manier van de server naar de client te sturen.

Waar het nu op gaat is hoe je de data ververst in je client. Dat betekent dat er een request naar je server moet, daar wordt de juiste data verzameld en daarna (dan heb je dus niks meer met MVC te maken) moet die data op de een of andere manier de data op je huidige pagina vervangen. Dat moet met Javascript, want dat is de enige programmeeromgeving die je tot je beschikking hebt in je client.

Wat ik in het voorbeeld hierboven heb gedaan is dezelfde url ophalen die je zonder Ajax-call zou gebruiken ( $(this).attr('href') ). Vervolgens ondersteund de .load()-functie van jQuery een selector zodat je alleen een gedeelte van dat document gebruikt. In dit geval is dat "table tbody", maar hoe dat precies in jouw website zit, hangt van de structuur op jouw pagina af.

Dit is wel een beetje "poor man's Ajax", omdat je in feite een hele nieuwe pagina opvraagt ipv alleen de nieuwe data.

Als je het écht goed wil doen, moet je je backend aanpassen om bij een Ajax-call alleen de data zelf naar buiten te sturen (bv als JSON) en vervolgens zelf in Javascript een functie schrijven om de gegevens in je JSON-data op de juiste plek in je tabel te zetten. Maar dat vergt dus wel nog wat werk, daar moet je maar net zin in hebben :P
Bedankt voor je uitgebreide antwoord. _O_ Is er misschien ergens op internet documentatie te vinden hierover? Ik wil hier best meer over lezen. :D
  dinsdag 5 maart 2013 @ 21:55:39 #131
12221 Tijn
Powered by MS Paint
  woensdag 6 maart 2013 @ 08:47:36 #132
137776 boem-dikkie
Jedi Mind Baby!
pi_123692521
Ik snap je pagination functie niet zo goed binnen CodeIgniter? Is dat een functie die samenwerkt met de query en zo pagina's opbouwt? Of is dat gewoon een functie die bekijkt hoeveel records je hebt en vervolgens een lijstje opbouwt van bijvoorbeeld 10 per pagina en een click navigatie?

Want als het laatste het geval is, kun je toch gewoon met AJAX een nieuwe query aanroepen met variabelen (min en max) en die weer in je tbody dumpen?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_123714513
:P Is er trouwens geen topic op FOK! voor NodeJS ?
  woensdag 6 maart 2013 @ 19:59:16 #134
56176 Catch22-
Ben je Blind?!
pi_123715064
Mag hier. Van mij. lief he?

ik heb zelf alleen een beetje ervaring met meteor
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_123721572
quote:
0s.gif Op woensdag 6 maart 2013 19:59 schreef Catch22- het volgende:
Mag hier. Van mij. lief he?

ik heb zelf alleen een beetje ervaring met meteor
Ben zelf ook aan het kijken met Meteor, misschien dat ik binnenkort wel een apart topic maak voor NodeJS.

Is toch anders dan frontend javascript.
pi_123725279
quote:
0s.gif Op woensdag 6 maart 2013 19:59 schreef Catch22- het volgende:

[..]

ik heb zelf alleen een beetje ervaring met meteor
En hoe bevalt het? Ik ben voor mijn werk wat JavaScript MVP/MVC frameworks aan het verkennen voor het ontwikkelen van SPA's. Backbone en AngularJS (i.z.m. jQuery en Bootstrap) staan hoog op het lijstje.
  woensdag 6 maart 2013 @ 22:58:45 #137
56176 Catch22-
Ben je Blind?!
pi_123726201
quote:
0s.gif Op woensdag 6 maart 2013 22:45 schreef Devv het volgende:

[..]

En hoe bevalt het? Ik ben voor mijn werk wat JavaScript MVP/MVC frameworks aan het verkennen voor het ontwikkelen van SPA's. Backbone en AngularJS (i.z.m. jQuery en Bootstrap) staan hoog op het lijstje.
vond t wel oké. Was bijzonder basis hoor, meer oriënterend. Ga het in de toekomst misschien wel toepassen
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
  donderdag 7 maart 2013 @ 08:49:09 #138
137776 boem-dikkie
Jedi Mind Baby!
pi_123734705
Is Meteor niet nog hartstikke onstabiel?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_123945132
Kan iemand mij vertellen wat ik hier fout doe? Ik wil CONTENT naast NAVIGATIE zetten maar dan lijkt de 'parent div' terug te vallen zodat de navigatie en content erbuiten vallen, dat alleen de header nog 'in de site' zit. En dat is niet de bedoeling

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<body>
<div id="maincontainer">
<div id="mainheader">
<div id="header"><h1>LOGO</h></div>
<div id="bannerheader"></div>
</div>
<div id="maincontent">
<div id="navigatie">NAVIGATIE</div>
<div id="content">CONTENT
</div>
</div>
<div id="footer">Het test project</div>
</div>
</body>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
body{
margin: 0;
text-align: center;
background-color: #919191;
}

div#maincontainer{
margin: 20px auto 20px auto;
width: 850px;
text-align: left;
border-style: solid;
background-color: #E6FCB7;
border-width: 6px;
}

div#mainheader{
width: 850px;
height: 130px;
}

div#header{
width: 350px;
text-align: center;
float: left;

font-size: 150%
}

div#bannerheader{
position: relative;
left: 15px;
top: 30px;
background-image:url(banner.png);
float: left;
width: 468px;
height: 60px;
border-style: solid;
}

div#maincontent{
width: 844px;
}

div#navigatie{
border-right-style: solid;
width: 20%;
height: 250px;
margin: 15px 0px 15px 0px;
float: left;
}

div#content{
width: 78%;
border:solid;
float: left;
}

div#footer{
width: 100%;
height: 55px;

text-align: center;

Edit: het lijkt er dus op dat de maincontainer genegeerd wordt als ik float: left meegeef aan navigatie.

[ Bericht 1% gewijzigd door kievitsboom op 12-03-2013 05:22:51 ]
:{
  dinsdag 12 maart 2013 @ 06:57:10 #140
4159 GI
Nee ik heet geen JOE
pi_123945411
Makkelijkste oplossing is om onderaan de content een

<br style="clear:both" />

op te nemen.
http://jsfiddle.net/8A5Xt/
pi_123945616
Kijk eens aan! Weer wat geleerd, waarvoor mijn dank.

ik blijf maar bijleren zo. :7
:{
  dinsdag 12 maart 2013 @ 07:57:02 #142
56176 Catch22-
Ben je Blind?!
pi_123945752
Dat is wel heel vies

Google eens op clearfix
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
  dinsdag 12 maart 2013 @ 07:58:46 #143
84244 Scorpie
Abject en infaam!
pi_123945774
quote:
19s.gif Op woensdag 6 maart 2013 19:50 schreef TwenteFC het volgende:
:P Is er trouwens geen topic op FOK! voor NodeJS ?
NodeJS ervaring reporting in .
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
pi_123945806
quote:
14s.gif Op dinsdag 12 maart 2013 07:58 schreef Scorpie het volgende:

[..]

NodeJS ervaring reporting in .
Ik ga d'r binnenkort fanatiek mee bezig, het klinkt allemaal heel mooi dus ik ben benieuwd.
Als er animo voor is wil ik dan ook wel een topic openen speciaal voor NodeJS en haar frameworks.

:P Een beetje goede op neerzetten.
  dinsdag 12 maart 2013 @ 08:22:53 #145
91039 mstx
2x1/2 = 1/2 x 1/2
pi_123946042
quote:
0s.gif Op dinsdag 12 maart 2013 07:57 schreef Catch22- het volgende:
Dat is wel heel vies

Google eens op clearfix
In principe werkt het allemaal het zelfde. Ik doe meestal <br class="clear" /> met .clear{clear:both;} omdat ik dat nu eenmaal gewend ben. O-)
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  dinsdag 12 maart 2013 @ 08:50:47 #146
84244 Scorpie
Abject en infaam!
pi_123946491
quote:
19s.gif Op dinsdag 12 maart 2013 08:01 schreef TwenteFC het volgende:

[..]

Ik ga d'r binnenkort fanatiek mee bezig, het klinkt allemaal heel mooi dus ik ben benieuwd.
Als er animo voor is wil ik dan ook wel een topic openen speciaal voor NodeJS en haar frameworks.

:P Een beetje goede op neerzetten.
Ook goed :) heb zelf ervaring met Socket.IO, NowJS & Node zeg maar :)
Op dinsdag 13 augustus schreef Xa1pt:
Neuh, fraude mag best aangepakt worden. Maar dat het de maatschappij meer oplevert of beter is voor de samenleving, is nog maar de vraag.
Op donderdag 25 juni 2015 schreef KoosVogels:
Klopt. Ik ben een racist.
  dinsdag 12 maart 2013 @ 10:48:53 #147
50298 QM84
Het Orakel
pi_123949556
quote:
0s.gif Op dinsdag 12 maart 2013 08:22 schreef mstx het volgende:

[..]

In principe werkt het allemaal het zelfde. Ik doe meestal <br class="clear" /> met .clear{clear:both;} omdat ik dat nu eenmaal gewend ben. O-)
Nee, het werkt niet hetzelfde:
Met een <br class="clear" /> voeg je een extra fysiek html-element toe aan je pagina, terwijl je met de clearfix dit niet doet.
Het nadeel van het toevoegen van een <br> is, dat het voor ongewilde resultaten kan zorgen (je voegt een harde line-break toe, dus ruimte) en in veel gevallen is het ook niet eens mogelijk om deze toe te voegen.
dat dus.
  dinsdag 12 maart 2013 @ 11:19:26 #148
91039 mstx
2x1/2 = 1/2 x 1/2
pi_123950517
quote:
3s.gif Op dinsdag 12 maart 2013 10:48 schreef QM84 het volgende:

[..]

Nee, het werkt niet hetzelfde:
Met een <br class="clear" /> voeg je een extra fysiek html-element toe aan je pagina, terwijl je met de clearfix dit niet doet.
Het nadeel van het toevoegen van een <br> is, dat het voor ongewilde resultaten kan zorgen (je voegt een harde line-break toe, dus ruimte)
Niet helemaal mee eens, met clearfix voeg je ook content (dus ruimte) toe via CSS. Of je het nou fisiek of virtueel doet, de methode is anders maar de werking blijft het zelfde (namelijk een clear:both toevoegen aan de content na het laatste floating-element).
Dat het in dit geval een <br> is maakt het resultaat wel iets anders omdat het inderdaad nog een line-break toevoegt, maar in al die jaren ben ik nog nooit een ongewild resultaat tegengekomen in welke browser dan ook.

Soms gebruik je het ook om elementen na float-elementen weer op de volgende regel te laten beginnen, dan vind ik persoonlijk een <br> juist weer duidelijker.

Maar goed, ik heb zelf niet echt een specifieke voorkeur, ik gebruik gewoon hetgeen wat er in de rest van het project gebruikt wordt.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_123951270
Elementen toevoegen voor stijl is lelijk. Een <br> is een semantisch element, dus dat maakt het driedubbel lelijk (gebruik dan een span of div). Maar iedereen gebruikt toch al honderd jaar gewoon overflow:hidden op de parent voor dit probleem?
  dinsdag 12 maart 2013 @ 11:42:56 #150
12221 Tijn
Powered by MS Paint
pi_123951301
Met clear:both op de footer ben je er toch ook?

Hoe dan ook ben je verkeerd bezig als je extra elementen nodig hebt, puur voor de layout.

[edit] waarom trouwens <div id="header"> en <div id="footer"> ipv gewoon <header> en <footer>?
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')