0

簡単なjquery入力透かし関数を考え出そうとしています。基本的に、入力フィールドに値がない場合は、そのタイトルを表示します。

入力の値をタイトルとして割り当てるために必要なjqueryを思いついたのですが、フォームに手動でコーディングされた値であるかのようにページに表示されません。

ユーザーが表示できるようにページが入力フィールドに読み込まれたときに、これを取得して値を表示するにはどうすればよいですか?

これがフィドルです:http://jsfiddle.net/mQ3sX/2/

$(document).ready(function() {

    $(".wmk").each(function(){
      var value = $(this).val();
      var title = $(this).attr("title");

      if (value == '') {
        value = title;
      }

      $(".result").text(value);
      // You can see I can get something else to display the value, but it does 
      // not display in the actual input field.            
    });

});
4

4 に答える 4

2

独自に作成する代わりに、すぐに使えるバージョンを使用することを検討しましたか? それはまさにあなたが求めたものではありませんが、これらにはあなたが望むかもしれない追加機能があります (たとえば、入力を開始するとプレースホルダーを自動的に非表示にする通常のプレースホルダーのように動作します)。

http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html http://archive.plugins.jquery.com/project/input-placeholder

于 2012-04-10T18:07:53.060 に答える
1

以下のコード行を使用してください。input要素を指定し、その値を更新する必要があります。入力フィールドには「.wmk」というクラスがあるため、次のコードを使用しています。「。」の代わりに「id」と「#」を使用できます。セレクターの詳細については、http://api.jquery.com/category/selectors/をご覧ください。

$(".wmk").val(value);

jsfiddleを更新http://jsfiddle.net/bhatlx/mQ3sX/9/

更新:「。wmk」で「each」を使用しているため、次を使用できます

 $(this).val(value)
于 2012-04-10T18:04:05.990 に答える
0

あなたが望むのはこれだと思います:

$(document).ready(function() {

    $(".wmk").each(function(){
    var value = $(this).val();
    var title = $(this).attr("title");

    if (value == '') {
        $(this).val(title);
    }

    $(".result").text(value);

    });

});
于 2012-04-10T18:08:02.580 に答える
0

以下のようなものが欲しいかもしれませんが、

デモ

$(document).ready(function() {

    $(".wmk").each (function () {
        if (this.value == '') this.value = this.title;
    });

    $(".wmk").focus(
        function () {
            if (this.value == this.title) this.value = '';
        }
    ).blur(
        function () {
            if (this.value == '') this.value = this.title;
        }
    );

}); // end doc ready
于 2012-04-10T18:10:16.183 に答える