<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Combobox Coolness by Giva Labs</title>
	<atom:link href="http://ajaxian.com/archives/combobox-coolness-by-giva-labs/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: ctidave</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-267021</link>
		<dc:creator>ctidave</dc:creator>
		<pubDate>Fri, 29 Aug 2008 13:51:04 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-267021</guid>
		<description>I&#039;ve done a fix for this which is in the getValue function change the call return [$hidden.val(), $self[bInput ? &quot;val&quot; : &quot;text&quot;]()] to return [$hidden.val(), displayString($hidden.val())]</description>
		<content:encoded><![CDATA[<p>I&#8217;ve done a fix for this which is in the getValue function change the call return [$hidden.val(), $self[bInput ? "val" : "text"]()] to return [$hidden.val(), displayString($hidden.val())]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ctidave</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-266411</link>
		<dc:creator>ctidave</dc:creator>
		<pubDate>Tue, 05 Aug 2008 12:44:30 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-266411</guid>
		<description>I have another issue. When an option is picked from the menu and the call-back code is launched for &quot;select&quot; (which I added to the options) then the .getValue() function is returning me the value I picked (stored in the &quot;rel&quot; attribute of the LI) plus the current value of the displayed box. This seems wrong to me as surely you&#039;d want to pass back the text of the selected item and not the previously selected item? As you can see from this example (I made a small change to the &quot;gettingstarted.htm&quot; file to show the problem), pick &quot;Education&quot; for the first time and you get back &quot;9,&quot; from getValue(). Then select &quot;Health&quot; and you get &quot;10, Education&quot; from getValue().

Here&#039;s the example code:

	// on DOM ready
	$(document).ready(function (){

		var options = {
			select:menu_option_chosen
		}
		$(&quot;#current_rev&quot;).html(&quot;v&quot;+$.mcDropdown.version);
		$(&quot;#category&quot;).mcDropdown(&quot;#categorymenu&quot;, options);
	});
	function menu_option_chosen() {
		var dd = $(&quot;#category&quot;).mcDropdown();
		alert(dd.getValue());
		
	}</description>
		<content:encoded><![CDATA[<p>I have another issue. When an option is picked from the menu and the call-back code is launched for &#8220;select&#8221; (which I added to the options) then the .getValue() function is returning me the value I picked (stored in the &#8220;rel&#8221; attribute of the LI) plus the current value of the displayed box. This seems wrong to me as surely you&#8217;d want to pass back the text of the selected item and not the previously selected item? As you can see from this example (I made a small change to the &#8220;gettingstarted.htm&#8221; file to show the problem), pick &#8220;Education&#8221; for the first time and you get back &#8220;9,&#8221; from getValue(). Then select &#8220;Health&#8221; and you get &#8220;10, Education&#8221; from getValue().</p>
<p>Here&#8217;s the example code:</p>
<p>	// on DOM ready<br />
	$(document).ready(function (){</p>
<p>		var options = {<br />
			select:menu_option_chosen<br />
		}<br />
		$(&#8220;#current_rev&#8221;).html(&#8220;v&#8221;+$.mcDropdown.version);<br />
		$(&#8220;#category&#8221;).mcDropdown(&#8220;#categorymenu&#8221;, options);<br />
	});<br />
	function menu_option_chosen() {<br />
		var dd = $(&#8220;#category&#8221;).mcDropdown();<br />
		alert(dd.getValue());</p>
<p>	}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ctidave</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-266392</link>
		<dc:creator>ctidave</dc:creator>
		<pubDate>Tue, 05 Aug 2008 10:18:06 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-266392</guid>
		<description>Thanks for the fixes. I may have found another small bug. In IE7 you cannot seem to select the input box for keyboard input. It will let you tab to it though. Seems fine in Firefox.</description>
		<content:encoded><![CDATA[<p>Thanks for the fixes. I may have found another small bug. In IE7 you cannot seem to select the input box for keyboard input. It will let you tab to it though. Seems fine in Firefox.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DanSwitzer2</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-265828</link>
		<dc:creator>DanSwitzer2</dc:creator>
		<pubDate>Mon, 14 Jul 2008 15:19:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-265828</guid>
		<description>@ctidave:

We&#039;ve just released a patch which should resize the input box correctly regardless if the input is visible at init time. This should remove the need for your fix.</description>
		<content:encoded><![CDATA[<p>@ctidave:</p>
<p>We&#8217;ve just released a patch which should resize the input box correctly regardless if the input is visible at init time. This should remove the need for your fix.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ctidave</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-265641</link>
		<dc:creator>ctidave</dc:creator>
		<pubDate>Thu, 03 Jul 2008 11:11:37 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-265641</guid>
		<description>Great product!

One issue I have found with it though. If you have the mcdropdown within a div element who&#039;s style.display is set to &quot;none&quot; (i.e. hidden) it does not initialise correctly if you call the code:

$(document).ready(function (){ 
    $(&quot;#category&quot;).mcDropdown(&quot;#categorymenu&quot;); 
}); 


You will find that when your div block is made visible again (e.g. .style.display = &quot;block&quot;) then the width of the input box is zero - meaning when you come to choose an item from the menu you then cannot see what you&#039;ve chosen.

I found a way around this which was to call the initialisation code when setting the div element&#039;s display to block (or inline). e.g

function setDivToDisplay(divID) {
   document.getElementById(divID).style.display = &quot;block&quot;;
   // Initialise McDropdown once the div is visible again
   $(&quot;#category&quot;).mcDropdown(&quot;#categorymenu&quot;); 
}

Anyone who&#039;s used client side tabbing such as DOMTAB may face a similar issue. We&#039;ve had to put a call in from DOMTAB to our method when setting the Tab to display to call the initialisation method of McDropDown.</description>
		<content:encoded><![CDATA[<p>Great product!</p>
<p>One issue I have found with it though. If you have the mcdropdown within a div element who&#8217;s style.display is set to &#8220;none&#8221; (i.e. hidden) it does not initialise correctly if you call the code:</p>
<p>$(document).ready(function (){<br />
    $(&#8220;#category&#8221;).mcDropdown(&#8220;#categorymenu&#8221;);<br />
}); </p>
<p>You will find that when your div block is made visible again (e.g. .style.display = &#8220;block&#8221;) then the width of the input box is zero &#8211; meaning when you come to choose an item from the menu you then cannot see what you&#8217;ve chosen.</p>
<p>I found a way around this which was to call the initialisation code when setting the div element&#8217;s display to block (or inline). e.g</p>
<p>function setDivToDisplay(divID) {<br />
   document.getElementById(divID).style.display = &#8220;block&#8221;;<br />
   // Initialise McDropdown once the div is visible again<br />
   $(&#8220;#category&#8221;).mcDropdown(&#8220;#categorymenu&#8221;);<br />
}</p>
<p>Anyone who&#8217;s used client side tabbing such as DOMTAB may face a similar issue. We&#8217;ve had to put a call in from DOMTAB to our method when setting the Tab to display to call the initialisation method of McDropDown.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sandro</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-265355</link>
		<dc:creator>sandro</dc:creator>
		<pubDate>Tue, 24 Jun 2008 12:53:05 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-265355</guid>
		<description>@Dan
No doubt, and thanks for releasing.  It is mentioned that this was built for a particular project, and you giving it up is a nice thing to do.  Again, for some uses, quite nice.</description>
		<content:encoded><![CDATA[<p>@Dan<br />
No doubt, and thanks for releasing.  It is mentioned that this was built for a particular project, and you giving it up is a nice thing to do.  Again, for some uses, quite nice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NKTPRO</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-265345</link>
		<dc:creator>NKTPRO</dc:creator>
		<pubDate>Mon, 23 Jun 2008 21:17:53 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-265345</guid>
		<description>That&#039;s a really well-done jQuery plugin IMO, and you will not understand how much effort to be spent on it until you try on your own :). Thanks for sharing your work ;)

@DanSwitzer2: It will be an almost perfect combo-box if you improve it further more with AJAX requests to fetch the sub-trees data on demand (or cache certain top levels 1st), instead of having to build all the unordered-lists at the beginning :). Sometimes the number of records are too many to be displayed all over the screen, so paging on the fly is even greater (a small page selector at the bottom of the list layer)</description>
		<content:encoded><![CDATA[<p>That&#8217;s a really well-done jQuery plugin IMO, and you will not understand how much effort to be spent on it until you try on your own :). Thanks for sharing your work ;)</p>
<p>@DanSwitzer2: It will be an almost perfect combo-box if you improve it further more with AJAX requests to fetch the sub-trees data on demand (or cache certain top levels 1st), instead of having to build all the unordered-lists at the beginning :). Sometimes the number of records are too many to be displayed all over the screen, so paging on the fly is even greater (a small page selector at the bottom of the list layer)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DanSwitzer2</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-265343</link>
		<dc:creator>DanSwitzer2</dc:creator>
		<pubDate>Mon, 23 Jun 2008 20:54:22 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-265343</guid>
		<description>@ibolmo:

When you click &quot;inside&quot; the text box, you actually enter the keyboard entry mode (so you can go back a node by hitting delete.) If you click the &quot;dropdown&quot; arrow, you&#039;ll get the columnized suckerfish-style menu.

We have 2 distinct types of users--ones who just use the keyboard and ones that use the mouse for everything. We&#039;re trying to accommodate both groups with a single control.</description>
		<content:encoded><![CDATA[<p>@ibolmo:</p>
<p>When you click &#8220;inside&#8221; the text box, you actually enter the keyboard entry mode (so you can go back a node by hitting delete.) If you click the &#8220;dropdown&#8221; arrow, you&#8217;ll get the columnized suckerfish-style menu.</p>
<p>We have 2 distinct types of users&#8211;ones who just use the keyboard and ones that use the mouse for everything. We&#8217;re trying to accommodate both groups with a single control.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ibolmo</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-265342</link>
		<dc:creator>ibolmo</dc:creator>
		<pubDate>Mon, 23 Jun 2008 20:44:28 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-265342</guid>
		<description>@shypht, that&#039;s what I meant.. there&#039;s even CSS implementations: http://www.cssplay.co.uk/menus/final_drop.html

But thanks, I just noticed what you mean by clicking on it. It&#039;s a sort of a directory/menu hybrid. I noticed, though, that there&#039;s no way to go back/up a selection.

It&#039;s an interesting idea, though.</description>
		<content:encoded><![CDATA[<p>@shypht, that&#8217;s what I meant.. there&#8217;s even CSS implementations: <a href="http://www.cssplay.co.uk/menus/final_drop.html" rel="nofollow">http://www.cssplay.co.uk/menus/final_drop.html</a></p>
<p>But thanks, I just noticed what you mean by clicking on it. It&#8217;s a sort of a directory/menu hybrid. I noticed, though, that there&#8217;s no way to go back/up a selection.</p>
<p>It&#8217;s an interesting idea, though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shypht</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-265337</link>
		<dc:creator>shypht</dc:creator>
		<pubDate>Mon, 23 Jun 2008 18:25:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-265337</guid>
		<description>HTML drop-down menus don&#039;t have the same tree-like branching. It&#039;s best to click around the demo to get a real sense for it though.

It&#039;s sort of like an expandable tree meets drop-down hybrid.</description>
		<content:encoded><![CDATA[<p>HTML drop-down menus don&#8217;t have the same tree-like branching. It&#8217;s best to click around the demo to get a real sense for it though.</p>
<p>It&#8217;s sort of like an expandable tree meets drop-down hybrid.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ibolmo</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-265336</link>
		<dc:creator>ibolmo</dc:creator>
		<pubDate>Mon, 23 Jun 2008 18:13:09 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-265336</guid>
		<description>So what&#039;s the difference with mcDropdown and (aside from being on top of a select box) a drop down menu?</description>
		<content:encoded><![CDATA[<p>So what&#8217;s the difference with mcDropdown and (aside from being on top of a select box) a drop down menu?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DanSwitzer2</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-265331</link>
		<dc:creator>DanSwitzer2</dc:creator>
		<pubDate>Mon, 23 Jun 2008 14:40:59 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-265331</guid>
		<description>@Sandro:

This was designed to be used as a form input control (and not really for a &quot;menu&quot; per se.) A lot of time was spent on the sizing aspects of the drop downs and it&#039;s been tested with a large variety of different data configurations and as you mentioned it was not an easy problem to solve.

As you stated, this isn&#039;t a solution for all use cases. It does work really well for our use case and we thought it would work well for others (which is why we released it as open source.)</description>
		<content:encoded><![CDATA[<p>@Sandro:</p>
<p>This was designed to be used as a form input control (and not really for a &#8220;menu&#8221; per se.) A lot of time was spent on the sizing aspects of the drop downs and it&#8217;s been tested with a large variety of different data configurations and as you mentioned it was not an easy problem to solve.</p>
<p>As you stated, this isn&#8217;t a solution for all use cases. It does work really well for our use case and we thought it would work well for others (which is why we released it as open source.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sandro</title>
		<link>http://ajaxian.com/archives/combobox-coolness-by-giva-labs/comment-page-1#comment-265328</link>
		<dc:creator>sandro</dc:creator>
		<pubDate>Mon, 23 Jun 2008 12:56:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3781#comment-265328</guid>
		<description>A nice idea for some limited uses.  I don&#039;t think it&#039;s terribly portable, however, as the sizing of the root menu must anticipate the depth of all possible paths, which is not an easy problem to solve, as well as opening up the case that the root menu might need to extend across an entire page, for example.  This is more a demonstration of why menus are done the way they are, &quot;flying off&quot; to the right...  More directly, designers and developers will shy away from menus whose width is dependent on something other than their desires.</description>
		<content:encoded><![CDATA[<p>A nice idea for some limited uses.  I don&#8217;t think it&#8217;s terribly portable, however, as the sizing of the root menu must anticipate the depth of all possible paths, which is not an easy problem to solve, as well as opening up the case that the root menu might need to extend across an entire page, for example.  This is more a demonstration of why menus are done the way they are, &#8220;flying off&#8221; to the right&#8230;  More directly, designers and developers will shy away from menus whose width is dependent on something other than their desires.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

