2009-08-21 12 views
6

フォーカスのあるテキスト入力があれば、その中のすべてのテキストを選択したいと思っています。これは、テキスト入力をすでに上書きしたいと仮定して、テキスト入力をクリックして現在の値をクリアするのではなく、入力を開始できるようにするためです。jQueryは選択したテキストを設定します

jQueryでどうすればいいですか?

+0

があることは、ほとんどのブラウザのデフォルトの動作はありませんか?私はFireFox、Opera、IEで試してみましたが、タブに入るとテキスト入力の内容がすべて強調表示されます。 –

+0

クリス、申し訳ありません。あなたが正しいように見えます。私はこれを追いかける道を導いてくれることを覚えていませんが、私はそれを忘れてしまったのでちょうど忘れてしまいました。それを試してみてください:) –

+0

ああ、今覚えています。入力フィールドにマウスを置くと、テキストは*選択されません。しかし、あなたは正しいです、*入力フィールドに*タブ*したときのデフォルト動作です。投稿を編集します。 –

答えて

6

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(); 
}); 
4

だけでテキストを選択するには、あなたのような何かをしたい:テキストを選択しない

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

別のアプローチを、のではなく、それを(だけでそれを置き換えるために削除されますボックスを空のままにしておくと、次のようになります。

$(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); 
    }); 
    }); 
}); 

たとえば、あなたの名前を入力するようなプレースホルダーテキストがありますが、そのボックスに入っているものが、最後に入力した名前であれば、テキストを選択するという独自のアイデアは確かに良いでしょう。)

0

私が試したことから、これは私が使用するほとんどのブラウザでのデフォルトの動作です。

select()でも他の人が言ったことはありますが。代わりに、フィールドがフォーカスされている場合は、入力フィールドの値を空白に設定するように動作すると思っていました。以下のような

何か:

$(":input").focus = function(){if(this.type=="text"){value=""}return true}; 
関連する問題