This should be moved to the “How To” forum, but I would probably do something like this.
Place this javascript in your <head></head>
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
Then this would be your jump menu that uses the script and the Category Archive tag:
<form name="form" id="form">
<select name="jumpMenu" id="jumpMenu" onchange="MM_jumpMenu('parent',this,0)">
{exp:weblog:category_archive weblog="your_weblog" style="linear"}
<option value="{path=SITE_INDEX}">{category_name}</option>
{/exp:weblog:category_archive}
</select>
</form>
Then to display the state info you could use this:
{exp:weblog:category_archive weblog="{your_weblog}" show="11" style="linear"}
{categories}
<h1>{category_name}</h1>
{if category_description}{category_description}{/if}
{exp:weblog:entries weblog="{your_weblog}" orderby="date" sort="asc" category="11"}
{body}
{/exp:weblog:entries}
{/categories}
{/exp:weblog:category_archive}
The show=“11” parameter is for the corresponding State category id. You’ll probably have to create {if} conditionals or Global Conditioal Variables in this template for each State to display the state data.
If I’m not 100% on the conditionals part somebody will correct me.