如何通过名称-javascript / jquery设置对下拉列表的关注

时间:2013-10-01 12:12:40

标签: javascript jquery css

我没有下拉列表,如下所示

<select name="dropname[0]">....</select>
<select name="dropname[1]">....</select>
<select name="dropname[2]">....</select>
<select name="dropname[3]">....</select>....

现在我想把重点放在第二个下拉列表上。我试过这些

document.getElementsByName('dropname')[1].focus();

导致此错误

TypeError: document.getElementsByName(...)[1] is undefined

提前致谢

4 个答案:

答案 0 :(得分:6)

由于您使用jQuery标记了您的问题,请尝试类似

的内容
$('select[name^="dropname"]').eq(1).focus();

// $('select[name^="dropname"]') < elements whos name starts with "dropname"
// .eq(1) < select one based on its index
// .focus(); < use jQuery's focus method to set the focus

答案 1 :(得分:6)

尝试使用jquery焦点,如

$("#id2").focus();

答案 2 :(得分:2)

您可以使用

var i = 0 //or 1,2,3

document.getElementsByName('dropname['+i+']')[0].focus();

希望这会对你有所帮助

答案 3 :(得分:0)

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"> 
</script>
</head>
<body>
<select name="1">
    <option>1</option>
</select>
<select name="2">
    <option>2</option>
</select>
<select name="3">
    <option>3</option>
</select>
<select name="4">
    <option>4</option>
</select>
<select name="5">
    <option>5</option>
</select>
<script>
$(document).ready(function(){
 i=2;
 $('select[name="'+i+'"]').focus();
});
</script>
</body>
</html>

希望这会对您有所帮助。