November 30th, 2007 Posted by Don Albrecht
John Resig has just posted an excellent resource for getting your feet wet with jQuery and even introducing some advanced features you may not yet be familiar with.
The presentation & source files are available here:
http://ejohn.org/blog/building-interactive-prototypes-with-jquery/
October 12th, 2007 Posted by Don Albrecht
While jQuery is many powerful things, Selectors are quite possibly its most capable and useful feature. So here’s the jQuery Selector crash course.
The Ground Rules:
- Selectors work just like CSS (1-3) selectors # for ID’s, . for classes p, div, ul, li etc.
- XPath an also be used.
- CSS & XPATH selectors can be combined
The $ wrapper.
Selectors + $ = jQuery Nirvana. The $() function accepts any selector and returns an object that can be manipulated.
Filters
jQuery filters enhance jQuery Selectors by providing additional logic. Here’s a list of supported filters:
- Not (selector)
- first
- last
- even
- odd
- eq( index) matches an elements index in returned array
- gt( index) matches all elements after given index in an array
- lt( index ) matches all elements before given index in an array
- header matches all h elements (h1 h2 h3 etc)
- animated (matches all elements that are currently being animated)
- contains( text) matches all elements which contain given text
- empty matches all empty elements
- has(selector) matches all elements containing an element that matches the given selector
- parent matches all elements that are parents / have child element. (opposite of empty)
- hidden matches all elements of type hidden
- visible (opposite of hidden)
October 11th, 2007 Posted by Don Albrecht
Prototype 1.6 is fast approaching and we’re already seeing loads of developers adopting the update in projects. As this tutorial shows, The improvements to Class & inheritance in are truly compelling reasons to jump.
Prototype 1.6 Inheritance tutorial via Ajaxian
October 4th, 2007 Posted by Don Albrecht
This has been out there for quite a while now, but I thought it should be included in the bestiary out of completeness.
http://clientside.cnet.com
September 28th, 2007 Posted by Don Albrecht
Earlier this month I posted on a powerful ExtJS extension for handling multiple file uploads. Today we will delve deeper into this widget and explore handling the uploads on the server end.
Keep reading →
September 28th, 2007 Posted by Don Albrecht
YUI provides for the creation of forms dynamically without the need for pre-existing markup through the Button object.
Despite its name, the button is a rich widget that supports the creation of:
- Push Buttons
- Link Buttons
- Submit Buttons
- Reset Button
- Checkboxes
- Radios
- Menus
- Split button (hybrid button menus)
Today we are exploring the creation of buttons dynamically from javascript. Creation itself is simple.
Keep reading →
September 19th, 2007 Posted by Don Albrecht
Building a Modal Filtering List with YUI
In this tutorial we will build a simple form and embed it in a modal panel.
Building the form
There are two approaches we could take towards building the form : dynamic or static. A dynamically loaded interface is built by the javascript executed on page load, a static interface lurks hidden inside the html source and is displayed when needed. For the sake of simplicity, we will be using a static interface in this tutorial.
Our form is quite simple. It consists of 3 tiers of options and a submit button:
<div id="filterpanelform" style="display:none">
<fieldset><legend>Type</legend>
<input name="type" value="berry" type="checkbox">Berry
<input name="type" value="citrus" type="checkbox">Citrus
<input name="type"value="drupe" type="checkbox">Drupe
<input name="type" value="Melon" type="checkbox">Melon
</fieldset>
<fieldset><legend> Size </legend>
<input name="size" value="small" type="checkbox">Small
<input name="size" value="medium" type="checkbox">Medium
<input name="size" value="large" type="checkbox">Large
</fieldset>
<fieldset><legend> Color </legend>
<input name="color" value="red" type="checkbox">Red
<input name="color" value="orange" type="checkbox">Orange
<input name="color" value="yellow" type="checkbox">Yellow
<input name="color" value="green" type="checkbox">Green
<input name="color" value="purple" type="checkbox">Purple
<input name="color" value="pink" type="checkbox">Pink
</fieldset>
<button value="Filter" name="doFilter" type="button"id="doFilter">Filter</button>
</div>
Notice the style=”display:none;” on the containing div? This is to hide the contents from view until our user calls the modal dialog.
Building the Modal Interface
Now we need to build a YUI panel to contain the filtering interface. Unlike the form elements, the panel we will build dynamically. The panel will be created on page load, but will remain hidden until called for.
// Instantiate a Panel from script
YAHOO.example.container.FormPanel = new YAHOO.widget.Panel("formPanel", { width:"320px", visible:false, draggable:true, close:true} );
YAHOO.example.container.FormPanel.setHeader("Form Panel");
//populate the panel with the form we've hidden in the HTML
YAHOO.example.container.FormPanel.setBody( document.getElementById("filterpanelform").innerHTML );
YAHOO.example.container.FormPanel.render("container");
September 19th, 2007 Posted by Don Albrecht
In part one we discussed the general layout and design of the application. In this chapter we will build the server side in the storage for the application using the powerful PHP object generator (POG).
Keep reading →
September 4th, 2007 Posted by Don Albrecht
This is part one of a multipart tutorial on AJAX application construction. Today we will be building a Software Project Scheduling application based on Joel Spolsky’s Painless Software Schedules system.
The application will be built using the Php Object Generator, and ExtJS Framework.
Keep reading →