jQuery设置选定的文本

时间:2009-08-21 21:44:16

标签: jquery select text input

我希望有一个文本输入,焦点选择内部的所有文本,如果有的话。这样我就可以点击文本输入并开始输入而不必清除当前值,假设我想覆盖文本输入中已有的内容。

我如何使用jQuery做到这一点?

3 个答案:

答案 0 :(得分:7)

Couple个链接here

$("#myInputField").focus(function(){
    // Select input field contents
    this.select();
});

// Add this behavior to all text fields
$("input[type=text]").focus(function(){
    // Select field contents
    this.select();
});

答案 1 :(得分:4)

要选择文字,您可以执行以下操作:

$(".inputs-to-which-you-want-to-apply-this-behavior").focus(function() {
  this.select();
});

另一种方法,它不选择文本,而是删除它(只有当你将框留空时才更换它)看起来像这样: / p>

$(document).ready(function() {
  $(".inputs-that-currently-have-a-default-value-in-them").each(function() {
    var original = $(this).val();
    $(this).focus(function() {
        if ($(this).val() == original)
          $(this).val('');
    });

    $(this).blur(function() {
      if ($(this).val() == '')
        $(this).val(original);
    });
  });
});

(如果开头的方框中的文字是“输入您的名字”的占位符文字,但是如果框中的内容是,例如,我上次输入的名称,那么我更喜欢后一种方法选择文本肯定会更好。)

答案 2 :(得分:0)

根据我的尝试,这是我使用的大多数浏览器中的默认行为。

尽管select()函数的功能与其他人所说的相同。相反,我认为如果字段是聚焦的话,将输入字段的值设置为空白是有效的。

类似的东西:

$(":input").focus = function(){if(this.type=="text"){value=""}return true};