2016-08-02 6 views
2

私はJavaScriptで初心者と私は私のEditorFor文字カウンターに実装しました作品:それは正常に動作しているが、私は1ページで多くのカウンタを使用する必要があるため機能は上記のように、3つの引数を取らなければならないので、私は、)(この機能を変更する必要がJavascriptの文字カウンタ機能は

$(document).ready(function() { 
     var text_max = 50; 
     var text_length = $('#email_area').val().length; 

     $('#email_counter').html(text_length +'/' + text_max + ' znaków'); 

     $('#email_area').keyup(function() { 
      var text_length = $('#email_area').val().length; 

      $('#email_counter').html(text_length + '/' + text_max + ' znaków'); 
     }); 
    }); 

:(カウントカウンターを、面積、最大)。私はこれを管理することはできません。私の新しい関数宣言セクションにあります:それは働いていません

 $(document).ready(function() { 
     Count('email_counter','email_area',50); 
    }); 

    function Count(counter,area,max) { 

     var text_length = $('#area').val().length; 

     $('#counter').html(text_length +'/' + max + ' znaków'); 

     $('#area').keyup(function() { 
      var text_length = $('#area').val().length; 

      $('#counter').html(text_length + '/' + max + ' znaków'); 
     }); 
    }; 

、私はエラーを取得する: の管理:169キャッチされない例外TypeErrorは:未定義

答えて

2

あなたのjQueryのセレクタは、現在のid =「エリア」とid =「カウンター」

あなたはパラメータに地域とカウンタを有効にするつもりなら、あなたがする必要があるとの要素を選択しようとしています$( '#' + area)と$( '#' + counter)で選択します。このアップデートで

、あなたのコードは、複数の入力フィールドと

function Count(counter, area, max) { 
    var text_length = $('#'+area).val().length; 

    $('#'+counter).html(text_length +'/' + max + ' znaków'); 

    $('#'+area).keyup(function() { 
    var text_length = $('#'+area).val().length; 
    $('#'+counter).html(text_length + '/' + max + ' znaków'); 
    }); 
}; 

Here's a working jsfiddleようになります。

0

あなたの選択テキストのプロパティ「長さ」を読み込めませんが正しくありません。

Count('email_counter','email_area',50); 

function Count(counter, area, max) { 
    var text_length = $('#' + area).val().length; 
    ... 
    $('#' + counter).html(text_length +'/' + max + ' znaków'); 
} 
関連する問題