Javascript 如何执行setfocus();到下拉列表
我有一个下拉列表,它从DB on OnLoad()事件加载记录,我想在页面加载时将焦点设置在下拉框上。我尝试了很多方法来设置焦点,但都不起作用。请看下面的代码 HTML代码如下:Javascript 如何执行setfocus();到下拉列表,javascript,drop-down-menu,setfocus,Javascript,Drop Down Menu,Setfocus,我有一个下拉列表,它从DB on OnLoad()事件加载记录,我想在页面加载时将焦点设置在下拉框上。我尝试了很多方法来设置焦点,但都不起作用。请看下面的代码 HTML代码如下: <body onLoad="getDataSourceList()"> <div class="wrapper"> <form id="myUploadForm" name="myUploadForm"> <table width="100%"&g
<body onLoad="getDataSourceList()">
<div class="wrapper">
<form id="myUploadForm" name="myUploadForm">
<table width="100%">
<tr> <td align="right"><label for="dataSourceId" style=" font-family: serif; font-size: small;">DataSource Type<b style="color: red">*</b>: </label> </td>
<td><select name="dataSourceType" id="dataSourceId">
<option value="Select"> Select</option>
</select>
</td>
</tr>
</table>
</form>
提前感谢。尝试向dataSourceId元素添加选项卡索引。 有关focus()应用于的元素的详细信息,请参阅
这对我很有用…您可以尝试放置
document.getElementById('dataSourceId').focus()代码>语句到success
callback,就在for
循环之后。您的示例似乎工作正常:我想问题可能是javascript加载顺序或其他地方。不,我也尝试了对下拉菜单进行硬编码,但设置焦点不起作用。
function getDataSourceList() {
$.ajax({
url : '/DataWeb/getAllDataSources',
type : 'post',
dataType : 'json',
contentType : 'application/json',
success : function(map) {
console.log(map);
var select = document.getElementById("dataSourceId");
for (index in map) {
select.options[select.options.length] = new Option(
map[index], index);
}
},
error : function(map) {
console.log(map);
console.log("error occured!!!");
},
});
document.getElementById('dataSourceId').focus();
}
$(document).ready(function(){
$("#myid").focus();
});