<select>
<option accesskey="j">江苏</option>
<option accesskey="b">北京</option>
<option accesskey="s">上海</option>
</select>
<script language="javascript">
<!--
function selCN(e)
{
var e = window.event || e;
var t = e.srcElement || e.target;
var c = e.keyCode || e.charCode;
var index = ["j","b","s"];
sel = index.key( String.fromCharCode(c) );
t.selectedIndex = sel;
}
Array.prototype.key = function (v)
{
for(var i=0;i<this.length;i++)
{
if( this[i] == v )
return i;
}
return false;
}
document.getElementsByTagName("select")[0].onkeypress = selCN;
//-->
</script>
<option accesskey="j">江苏</option>
<option accesskey="b">北京</option>
<option accesskey="s">上海</option>
</select>
<script language="javascript">
<!--
function selCN(e)
{
var e = window.event || e;
var t = e.srcElement || e.target;
var c = e.keyCode || e.charCode;
var index = ["j","b","s"];
sel = index.key( String.fromCharCode(c) );
t.selectedIndex = sel;
}
Array.prototype.key = function (v)
{
for(var i=0;i<this.length;i++)
{
if( this[i] == v )
return i;
}
return false;
}
document.getElementsByTagName("select")[0].onkeypress = selCN;
//-->
</script>
在此基础上修改了一下!
<select>
<option label="j">江苏</option>
<option label="j">江西</option>
<option label="b">北京</option>
<option label="s">上海</option>
<option label="s">陕西</option>
</select>
<script type="text/javascript">
<!--
function keySelect(e)
{
var e = window.event || e;
var t = e.srcElement || e.target;
var c = e.keyCode || e.charCode; var index = new Array();
for(var i=0, j=0; i<this.options.length; i++)
{
if(this.options[i].label!='')
{
index[j++] = this.options[i].label;
}
} sel = index.key( String.fromCharCode(c), this.selectedIndex+1 );
t.selectedIndex = sel;
}
Array.prototype.key = function (v, begin)
{
for(var i=begin; i<this.length; i++)
{
if( this[i] == v )
return i;
}
for(var i=0; i<begin; i++)
{
if( this[i] == v )
return i;
}
return false;
}
document.getElementsByTagName("select")[0].onkeypress = keySelect;
//-->
</script>
<select>
<option label="jiangsu">江苏</option>
<option label="jiangxi">江西</option>
<option label="">----</option>
<option label="beijing">北京</option>
<option label="shanghai">上海</option>
<option>----</option>
<option label="shanxi">陕西</option>
</select>
<script type="text/javascript">
<!--
function keySelect(e)
{
var e = window.event || e;
var t = e.srcElement || e.target;
var c = e.keyCode || e.charCode; var index = new Array();
for(var i=0; i<this.options.length; i++)
{
var current_opt = this.options[i];
if(typeof(current_opt.label)!='undefined' && current_opt.label!='')
{
index[i] = current_opt.label.substr(0, 1);
}
} sel = index.key( String.fromCharCode(c), this.selectedIndex+1 );
t.selectedIndex = sel;
}
Array.prototype.key = function (v, begin)
{
for(var i=begin; i<this.length; i++)
{
if( this[i] == v )
return i;
}
for(var i=0; i<begin; i++)
{
if( this[i] == v )
return i;
}
return false;
}
document.getElementsByTagName("select")[0].onkeypress = keySelect;
//-->
</script>
t.selectedIndex = sel;
--------------------------
if( document.all )
t.fireEvent( "onchange" );
else
{
var evt = document.createEvent('HTMLEvents');
evt.initEvent('change',true,true);
t.dispatchEvent( evt );
}