Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript选择选择框?_Javascript_Forms - Fatal编程技术网

如何使用javascript选择选择框?

如何使用javascript选择选择框?,javascript,forms,Javascript,Forms,如何使用javascript选择或聚焦一个框.select()可以很好地使用jQuery选择输入,但它对选择框不起作用。尝试选择当前选定的选项也不起作用 更新: 人们从两个方面误解了这个问题 首先,这不是如何选择文本输入的重复。如前所述,用于选择文本框的常用方法不起作用 我没有尝试检索或设置选择框的选定索引。我只是希望选择框通常被选中,就像在表单中使用tab键一样 更新2: 好吧,我知道问题出在哪里了,这让问题变得毫无意义。由于Chrome控制台的一个测试怪癖,.focus()什么也没做,这让我

如何使用javascript选择或聚焦一个
.select()
可以很好地使用jQuery选择输入,但它对选择框不起作用。尝试选择当前选定的选项也不起作用

更新: 人们从两个方面误解了这个问题

  • 首先,这不是如何选择文本输入的重复。如前所述,用于选择文本框的常用方法不起作用

  • 我没有尝试检索或设置选择框的选定索引。我只是希望选择框通常被选中,就像在表单中使用tab键一样

  • 更新2:


    好吧,我知道问题出在哪里了,这让问题变得毫无意义。由于Chrome控制台的一个测试怪癖,
    .focus()
    什么也没做,这让我觉得它没用。我想这就是为什么我最终使用了
    .select()
    ,当我在Chrome控制台上测试时,它显然起了作用,但对选择框不起作用。当我从javascript文件中尝试
    .focus()
    时,它就成功了。我猜当Chrome控制台处于焦点位置时,您就无法通过编程方式在实际页面中聚焦内容。吸取的教训。

    我认为您正在寻找
    focus()
    方法

    • focus()
      方法用于为元素提供焦点(如果可以的话) 集中注意力)
    示例:

    
    选择1
    选择2
    选择3
    选择4
    函数函数(){
    document.getElementById(“mySelect”).selectedIndex.focus();
    }
    
    来自W3C:

    selectedIndex属性在下拉列表中设置(或返回)所选选项的索引。

    索引从0开始

    注意:如果下拉列表允许多选,它将只返回所选第一个选项的索引

    注:值“-1”将取消选择所有选项(如果有)

    注意:如果未选择任何选项,selectedIndex属性将返回-1

    因此,要设置它,请将selectedIndex属性指定给要选择的数字索引

    或者您可以使用

    document.getElementById("mySelect").value = "foo";
    
    并将value属性设置为所需选项的名称

    您可能还希望在W3C上的“选择DOM对象”页面中查看以下内容:


    Hey@Moss如果您想选择或关注一个select元素,可以使用。我做了一个标记,以便您能更清楚地看到它。

    selectElement.selectedIndex=2
    ?您是指复选框吗?示例-html和您尝试过的脚本会很有帮助。请尝试设置selectedIndex:我不是在选择框中选择选项,而是尝试执行与jQuery的
    .select()
    方法等效的操作。它聚焦于选择框,就像您在表单中做选项卡一样。@如果它完全是重复的,请使用
    .focus()
    .select()
    根本不选择文本框,而是选择其中的文本。即使你看不到物体是聚焦的,它也是聚焦的。从字面上看google“.focus javascript”,再看看w3schools示例,将元素从锚点更改为选择框是有效的。这是如何回答我的问题的?“尝试选择当前选择的选项也不起作用。”?您不想检索该特定选项的选定索引吗?不,我想选择“选择”框。@莫斯,我很抱歉,请您重新更新您的描述,您的描述结构似乎有歧义。我添加了“焦点”一词,以使其比原来更清楚。请重新阅读问题。我更新了。请再看一遍问题。我更新了它。嘿,你是说你想集中精力并显示选项列表吗?我也更新了我的答案。关注select元素可以通过jquery完成。但是显示select元素的选项列表更为棘手,我没有一个快速的解决方案
    document.getElementById("mySelect").value = "foo";