0

このようなテキストボックスが複数あります。焦点が合ったら、ぼかしと空にテキストを適用したいと思います。これは、単一のテキストボックスで実現できます。JavaScript関数で「#name」値をハードコーディングする代わりに、現在の要素IDを渡すにはどうすればよいですか?

$(document).ready(function(){


    $('#Name').focus(function()
    {
         var $ele = $(this).attr('id');
            $(this).val('');
            $(this).css('color', '#000000');
    });

    $('#Name').blur(function()
    {
           var $ele = $(this).attr('id');
            $(this).val($ele);
            $(this).css('color', '#a9a9a9')
    });
});



<input id="Name" type="text" value="" name="Name">
<input id="Phone" type="text" value="" name="Phone" >
<input id="Email" type="text" value="" name="Email">
4

5 に答える 5

2

ですべての入力を選択でき、 ;$('input')を使用してフィルター テキスト入力を配置できます。[type="text"]jQuery チェーンを利用できます。

$(document).ready(function(){   

    $('input[type="text"]').focus(function()
    {
         var $ele = $(this).attr('id');
            $(this).val('');
            $(this).css('color', '#000000');
    }).blur(function()
    {
           var $ele = $(this).attr('id');
            $(this).val($ele);
            $(this).css('color', '#a9a9a9')
    });
});

HTMLの入力フィールドの値を直接設定できます

<input id="Name" type="text" value="Name" name="Name">

またはページの読み込み時にデフォルト値を次のように適用します。

$('input[type="text"]').each(function(){
   var $ele = $(this).attr('id');
                $(this).val($ele);
                $(this).css('color', '#a9a9a9')

});

HTML

<input id="Name" type="text" value="" name="Name">
<input id="Phone" type="text" value="" name="Phone" >
<input id="Email" type="text" value="" name="Email">
于 2012-09-30T17:59:44.733 に答える
1

jsを変更する必要があります

$(function(){
    $('input').focus(function()
    {
        $(this)
            .val($(this).attr('name'))
            .css('color', '#000000')

    }).blur(function()
    {
            $(this).css('color', '#a9a9a9')
    });
})();​

「ぼかし」に値を設定すると、現在の値が失われます...それがまさにあなたが望むものであるかどうかはわかりません

于 2012-09-30T18:05:39.020 に答える
0

inputの代わりに適用します#name

これはすべての入力に対して機能します。

または、.class変更したい要素に a を付けます。

于 2012-09-30T17:59:34.373 に答える
0

ですべての入力を選択できますが、 HTML 属性$('input[type="text"]')を使用したいだけだと思います。placeholder

于 2012-09-30T17:59:41.503 に答える
0

jQuery Selectorsを調べてください。今やっているのは、ID をセレクターとして使用することです。さまざまなオプションがたくさんあります...

ページ上のすべての入力に適用する場合は、「#Name」を「input」に置き換えるか、スクリプトをトリガーするすべての要素に共通のクラス「class="test"」を追加して、次に、そのクラス名を持つ入力要素のみについて、「#Name」を「.test」または「input.test」に置き換えます。

于 2012-09-30T18:01:01.383 に答える