RE: Disallowing selectbox change

"Gale, David" <[email protected]> Fri, 21 Apr 2006 11:45:09 -0400
Newsgroups gmane.comp.web.dom.wdf
Message-ID <[email protected]>
Santiago,

Thanks!  That was exactly what I was looking for!  (How long has it been
part of the HTML standard, and how come I've never run across it
before?)

-David 

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf
Of Santiago Bustelo
Sent: Thursday, April 20, 2006 8:18 PM
To: [email protected]
Subject: Re: [wdf-dom] Disallowing selectbox change

Hi David,

The OPTGROUP tag is an standard, cross-browser way to show non- 
selectable "titles" on a SELECT, that seems to fit your needs.

Moreover, OPTGROUPs are not reflected in the SELECT's.options array,  
nor they increment the selectedIndex value.

In fact, for JavaScript's older form.select methods, they simply  
don't exist. So if you have to create a SELECT with OPTGROUPs  
dynamically, you'll have to resort to DOM manipulation (instead of  
simply adding elements to select.options array).


Sample code follows. The onchange's alert is meant to show how the  
OPTGROUPs are ignored:

<select onchange="alert(this.selectedIndex+'/'+this.options.length);">
	<optgroup label="Category A">
		<option> a1 </option>
		<option> a2 </option>
	</optgroup>
	<optgroup label="Category B">
		<option> b1 </option>
		<option> b2 </option>
	</optgroup>
</select>


--
Santiago Bustelo // icograma
Design & Development
Buenos Aires, Argentina



On 20/04/2006, at 15:23, Gale, David wrote:


> I'm working on a fairly standard drop-down select navigation  
> widget; now
> my user wants to add categories to the select, thusly:
>
> -- Category1 --
> Page1
> Page2
> Page3
> -- Category2 --
> Page4
> Page5
> Page6
>
> When the page is loaded, the appropriate item is selected.  If a
> different "PageN" option is selected, the onchange fires, redirecting
> appropriately; if one of the Category option is picked, it doesn't
> submit (easily done).  However, if a Category option is selected, it's
> possible to then select the original page link, causing the page to
> reload.
>
> Is there any way in the onchange handler to disallow the change-- 
> so, if
> the selected option has no value, the select box returns to the
> previously selected option?  Firefox allows me to disable the Category
> options entirely, which is nice (and avoids the issue), but IE  
> doesn't.
> I thought returning false might do the trick, as that works for form
> onsubmits, but no dice.  The only other option I can think of is to
> record where the select ought to be, and, if the user tries to pick
> something invalid, force the selectedIndex back to the original, but
> this feels somewhat kludgy.  Is there a better option I'm not aware  
> of?
>
> Thanks,
> -David
>


Unsubscribe
[email protected]

List info
http://www.quirksmode.org/dom/list.html 
Yahoo! Groups Links



 




Unsubscribe
[email protected]

List info
http://www.quirksmode.org/dom/list.html 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/wdf-dom/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/