如果是文本,密码或下拉列表,请关注第一个表单元素

时间:2014-07-08 07:56:46

标签: javascript jquery

我必须编写一些jQuery来专注于第一个表单元素,如果它是文本框,密码类型或下拉菜单。

      var Text = $('#pagebody').find('input:text:visible:first')
      var Pass = $('#pagebody').find('input:password:visible:first')
      var Select = $('#pagebody').find('select:visible:first')

      if(Text)
      {
        Text.focus();
      }
      else if(Pass)
      {
        Pass.focus();
      }
      else
      {
        Select.focus();
      }

我无法专注于if语句的第一个查询中传递的任何内容,我不是100%确定原因。

我只是想知道,如果它是文字,密码或下拉列表,我将如何选择第一个表单元素?

如果有文字和密码,如何选择第一个?

2 个答案:

答案 0 :(得分:3)

这应该这样做:

$("#pagebody").find('input[type=text],input[type=password],select')
              .filter(':visible:first').focus();

答案 1 :(得分:1)

只需一次选择所有类型的元素,然后点击完整列表中的第一个元素:

var element= $('#pagebody').find('input:text:visible, input:password:visible, select:visible').first();
if(element){
  element.focus();
}