Upload
amos-baker
View
20
Download
0
Embed Size (px)
DESCRIPTION
jQuery. Motivasjon – Hvorfor jQuery?. Vi hadde behov for å la brukere fylle ut tabeller i en database via et web-grensesnitt Vi innså at det ville bli tungvint for brukerne å fylle ut hver tabell som om det var separate skjemaer – spesielt fordi tabellene danner en helhet - PowerPoint PPT Presentation
Citation preview
2
Motivasjon – Hvorfor jQuery?
Vi hadde behov for å la brukere fylle ut tabeller i en database via et web-grensesnittVi innså at det ville bli tungvint for brukerne å fylle ut hver tabell som om det var separate skjemaer – spesielt fordi tabellene danner en helhetVi fant ut at vi kunne presentere alle tabellene i ett stort skjema, og bruke JavaScript (Ajax) til å gjøre dette skjemaet “spiselig” for brukerneVi hadde praktisk talt ingen erfaring med programmering i JavaScript (og kan det fortsatt ikke)Vi bestemte oss for å se hva vi kunne finne på nettet av ferdiglagde løsninger
3
Hva er jQuery?
JavaScript-bibliotek i samme kategori som ScriptaculousGjør det enkelt å lage “interaktive” websiderInneholder en mengde ferdiglagde komponenter som man på en enkel måte kan nyttiggjøre seg av uten å kunne JavaScriptjQuery består av en forenklende basis for JavaScript programmering – jQuery APIPå toppen av jQuery API har man laget en rekke ferdige brukergrensesnittkomponenter – jQuery UI (User Interface)
4
Hva bruker vi (i første omgang)
ui.tabs for å få arkfaner slik at vi kan vise et enormt skjema på 1 webside (som 1 html-form)Tablesorter for å få tabeller brukeren kan sortere ved å klikke på kolonneheaderneVår egen rowselector plugin så brukeren kan velge rader i tabellerjQuery's AJAX funksjonalitet for å oppdatere options i undervalg når det finnes hundrevis/tusenvis av kombinasjoner av hovedvalg+undervalg(en 1-liner på klientsiden)Dette ga oss mye tilbake for minimal innsats og egen kode; https://soda.uio.no/forhaandsvisning
5
Komme igang
Ett eksempel på grensesnittkomponenter man kan finne - http://docs.jquery.com/UI/DatepickerHva trenger man?
jquery-1.2.3.min.js (anbefalt versjon for prod)Evt. PluginsHTML kode som linker inn jQuery og plugins, og i noen tilfeller en linje eller to med javascript for å starte opp plugins.Evt. CSS for komponenten (fra jQuery.com eller egenprodusert)
6
Kort teknisk intro
jQuery er en klasse ($ er et alias for jQuery)Tilstand = samling av DOM objekter$('søk') finner DOM obj som matcher søketSøkestreng = blanding av XPath og CSSjQuery's viktigste funksjoner er søk I DOMen og manipulasjon av objektene man finner.Eksempel:$(“#orderedlist > li”).addClass(“blue”);Dette legger til klassen “blue” på alle <li>..</li> som finnes under elementet med id=“orderedlist”. Hva som skal skje med disse elementene som har class=“blue” bestemmes (vanligvis) av stilark (CSS).
7
jQuery plugins
Stort utvalg tilgjengelig; http://plugins.jquery.comEnkelt å lage egne pluginsVi prøvde å bygge ut en eksisterende plugin, men den hadde noen problemer med IESå vi lagde en enkel plugin selv for valg av en linje i en tabell, med hover highlight, selection highlight + selection callback68 linjer inkludert kommentarer + luft (siste versjon)Enkel gjenbrukbar enhet som fungerer godt sammen med annen jQuery kode