Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
需要帮助调试jQuery字符计数器逻辑吗_Jquery - Fatal编程技术网

需要帮助调试jQuery字符计数器逻辑吗

需要帮助调试jQuery字符计数器逻辑吗,jquery,Jquery,我有一个文本区,下面有一个计数输入字符的计数器。也设置了最大输入限制。我还添加了两个跨距,当单击这些跨距时,它们也会将值插入文本区域 <span id="tag1" class="tags"></span> <span id="tag2" class="tags"></span> <br> <textarea id="myTextArea"></textarea> <br> Counter: <

我有一个文本区,下面有一个计数输入字符的计数器。也设置了最大输入限制。我还添加了两个跨距,当单击这些跨距时,它们也会将值插入文本区域

<span id="tag1" class="tags"></span>
<span id="tag2" class="tags"></span>
<br>
<textarea id="myTextArea"></textarea> 
<br>
Counter: <font id="charCount"></font>



柜台:
跨度中的内容包含一个数值,如(10)。当值被插入到textarea时,我需要计数器增加该值,而不是插入中的字符数

目前,它有些有效,有些无效。我需要帮助把它组装起来。我把代码放在这里:


编辑:

预期行为:

  • 输入到文本区域可以通过直接输入或单击跨距或两者的组合来完成
  • 计数器对所有字符进行计数,直到达到最大值,并在达到限制后停止输入
  • 计数器对手动输入的每个字符和空格进行计数,但当插入为用户时,计数器将增加包含的数值。如。 ==5或==10 例如,以下输入应计为13个字符:

    <textarea id="myTextArea">abc <text insert (5)> 123</textarea>
    
    abc 123
    

  • javascript逻辑中存在错误。span的onClick event函数还应包含正确更新计数的逻辑。下面是它的样本

    $(".tags").click(function() {
        var insertTag = $(this).text(),
            tagLength = insertTag.replace(/[^0-9]/g, "");
        var n = parseInt(input.val().replace(/{|}/g, '').length) + parseInt(tagLength);
        if ( n <= limit ) {
            input.append(" &lt;" + insertTag + "&gt;");
            count.text( n );
        }
    });
    

    应改进以分别过滤现有标记并使用文本框中的其他字符计算计数。

    具体来说,您的问题是什么?它有缺陷,不能像预期的那样工作。我认为这是问题所暗示的;)@圣诞老人:请具体点。什么输入使它不能正常工作?当它运行不正常时,你希望看到什么(与你实际看到的相比)?@圣诞老人:你可能需要重新表述你的问题……请找到一种方法让它稍微易懂一点。结果,我现在猜到了你想要什么谢谢我添加了counted onclick,它的计数很好,但在键入文本后它不会再插入任何内容。。。此外,这些标签似乎取代了彼此的计数,而它们需要累加。同一标签可以多次使用。我想我需要一种方法来存储任何更改的总计数-插入或类型。我更新了JSFIDLE代码:
    input.val().replace(/{|}/g, '').length