簡體   English   中英

jQuery focus()僅專注於第一個文本輸入

[英]jquery focus() just focusing to first text input

我有一個包含多種形式的HTML文件。 我正在嘗試將第二個表單的第一個元素集中在頁面加載上。 我將jquery代碼添加到HTML的末尾,以突出表單的第一個輸入:

<script>
    $("form[id=form2]").find("input[type!=hidden]:first").focus();
</script>

如果第二個表單的第一個元素是文本輸入,則效果很好,但是如果其下拉菜單或復選框不起作用。 如何將重點放在任何第一個元素上?

編輯:我需要在表單選擇器中使用ID,因為表單ID可以是可變的。

$("form:eq(1) :input[type!='hidden']").first().focus();

小提琴

不要將屬性選擇器與ID一起使用,僅使用ID選擇器會更快。
您可以使用:input選擇器,它選擇所有輸入元素,例如input,textarea,select和button。
然后使用:firstfirst()獲取第一個。

編輯:基於注釋,ID不是常數,因此使用tagName和:eq()可以選擇第二種形式,由於:eq()基於零,第二種形式為1

:input選擇器根據其文檔(位於http://api.jquery.com/input-selector/)查找任何有效的表單輸入元素,其中包括下拉列表和復選框。 由於它看起來還包括隱藏的字段,因此,我還添加了:visible選擇器以排除隱藏的表單元素。

<script>
    $("form[id=form2]").find(":input:visible:first").focus();
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM