Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带参数的Javascript字符计数器函数_Javascript_Asp.net Mvc_Counter - Fatal编程技术网

带参数的Javascript字符计数器函数

带参数的Javascript字符计数器函数,javascript,asp.net-mvc,counter,Javascript,Asp.net Mvc,Counter,我是javascript初学者,我在某个地方找到了我的EditorFor字符计数器,下面是它在代码中的外观: <span class="text-length-counter" id="email_counter"></span> @Html.EditorFor(model => model.ProfileFormDto.Email, new { htmlAttributes = new { @class = "form-con

我是javascript初学者,我在某个地方找到了我的EditorFor字符计数器,下面是它在代码中的外观:

<span class="text-length-counter" id="email_counter"></span>                  
@Html.EditorFor(model => model.ProfileFormDto.Email,  new { htmlAttributes = new { @class = "form-control create-view-field", id="email_area" }})
它工作正常,但我必须修改这个函数(),因为我必须在一个页面上使用多个计数器,所以上面的函数必须有三个参数,比如:Count(counter,area,max)。我无法管理这个。第节中有我的新函数声明:

        $(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未捕获类型错误:无法读取未定义的属性“长度”

选择器文本不正确

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

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

您的jQuery选择器当前正在尝试选择id=“area”和id=“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');
  });
};
具有多个输入字段

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');
  });
};