【问题标题】:Jquery focus on first text field and set cursor at value end for instant data entryJquery 专注于第一个文本字段并在值末尾设置光标以进行即时数据输入
【发布时间】:2012-09-21 04:24:20
【问题描述】:

我正在加载一个表单并将焦点默认到第一个文本字段。文本字段填充有默认值“PW-”。 (客户型号PW-446、PW-9887的前几个字符)

他们只想在表单加载时开始输入数字,而不是单击字段末尾等来输入数字。光标应在 PW- 末尾闪烁,并准备好进行数据输入。

我在 StackOverflow 上尝试了许多不同的方法,但都没有成功 :-(
有任何想法吗?提前致谢!

JQUERY

$(document).ready(function(){

    $('input:text:first').focus();

});

HTML

< input type="text" name="part_id" size="20" value="PW-">

【问题讨论】:

标签: jquery focus


【解决方案1】:

这是EXAMPLE

$(document).ready(function(){
    var el = $("input:text").get(0);
    var elemLen = el.value.length;

    el.selectionStart = elemLen;
    el.selectionEnd = elemLen;
    el.focus();
});​

https://developer.mozilla.org/en-US/docs/XUL/Property/selectionStart

https://developer.mozilla.org/en-US/docs/XUL/Property/selectionEnd

对于旧版本的 IE,您可能需要使用:http://msdn.microsoft.com/en-us/library/ie/ms536401(v=vs.85).aspx

【讨论】:

  • FWIW,focus() 应该始终在可见元素上完成,否则它将不起作用。这意味着,您需要在元素可见之后而不是之前关注元素。
  • 可爱。这里关于 SO 的所有其他类似问题的例子都对我不起作用。你的。
  • @Matheretter - 很高兴听到它:D
【解决方案2】:

有些不同:也许尝试将您的“PW-”设置为文本输入字段左侧的文本。验证字段中的非数字,然后在提交表单时,在该字段的值前面加上“PW-”,这样您就有一个完整的部件号。

【讨论】:

    猜你喜欢
    • 2011-11-24
    • 2011-06-06
    • 2011-10-25
    • 1970-01-01
    • 2013-11-03
    • 2013-07-20
    • 2019-11-13
    • 1970-01-01
    相关资源
    最近更新 更多