Jon-G blogs for Net-Entwicklung.de

26.06.2009

Check / Uncheck all checkboxes

Filed under: Coding — Schlagwörter: — Jonathan Gilbert @ 20:35

It’s a common problem: you have a list of elements on a page and you want yout user to be able to do something to several or all elements at once (delete, move, etc.) so you give each element a checkbox and a „delete selected“ button (or similar :~). Everything is cool but then you figure it would be nice to have a „select all“ resp. „unselect all“ box too, so help avoid „click orgies“. So in the page you generate something like this:

<input type=’checkbox‘ id=’sel1′ value=’xxx‘ name=’sel[]‘ /> xxx
<input type=’checkbox‘ id=’sel2′ value=’yyy‘ name=’sel[]‘ /> yyy
<input type=’checkbox‘ id=’sel3′ value=’zzz‘ name=’sel[]‘ />  zzz
<input type=’checkbox‘ id=’selAll‘ value=“ name=’selAll‘ onClick=’selectAll(this.checked, \“sel[]\“)‘ /> (un)select all

There are several ways of doing this, but I like my solution, just because its mine its short and effective:

function selectAll(state, name) {
..boxes = document.getElementsByName(name);
..boxCnt = boxes.length;
..for (i=0; i<boxCnt; i++) {
....boxes[i].checked = state;
..}
}

That’s it!

Advertisements

21.05.2009

Performance Optimierung (Frontend)

Filed under: Coding — Schlagwörter: , , — Jonathan Gilbert @ 20:22

Yahoo bietet wertvolle Tipps:
Best Practices for Speeding Up Your Web Site

Und hier ein Artikel bzw. Vortrag, den ich schon auf Grund des Titels erwähnen muss:
YUI Theater — Nicole Sullivan: „Design Fast Websites (Don’t Blame the Rounded Corners)“

18.05.2009

Zend Framework MVC mit Javascript (z.B. YUI) steuern

Filed under: Coding — Schlagwörter: , , , — Jonathan Gilbert @ 19:57

Mit dem Zend Framework hat man meistens URLs im Format:

http://www.net-entwicklung.de/controller/action

wobei „action“ oft weggelassen wird, um eine Standard-Action für den Controller aufzurufen. Es kommt also hin und wieder vor, dass man auf den einzelnen Unterseiten z.B. ein „Back“-Link erstellen möchte. Das ist kein Problem mit dem Viewhelper aber es ist etwas umständlich, wenn z.B. YUI verwendet wird und es soll ein „Back“-Button damit definiert werden. Vor allem, wenn dieser Button auf mehreren Seiten erscheinen soll stellt man sich die Frage, wie die aufzurufende URL generisch manipuliert werden kann. Eine Möglichkeit ist mit einem Regular Expression, um alles nach dem letzten Slash der URL zu entfernen:

window.location.href = document.location.href.replace(/(.*)\/([^\/]*)$/, '$1');

Das wird natürlich nicht für jeden Anwendungsfall passen aber wenn die URL’s der Unterseiten keine Parameter benutzen, z.B. weil die Inhalte per Ajax (YUI o.ä.) geladen werden, dann sollte es genügen.

Erstelle eine kostenlose Website oder Blog – auf WordPress.com.