Javascript 在表中重复回显时字符计数器不起作用

Javascript 在表中重复回显时字符计数器不起作用,javascript,php,Javascript,Php,我正在尝试在我的表中的多个文本区域中使用下面的javascript字符计数器。问题是表的第一行中只有计数器函数。带有文本区域的后续行回显“剩余250个字符”,但功能不符合预期。我不知道如何为每个字符计数器分配一个唯一的id,以便它在所有文本区域中都起作用。任何帮助都将不胜感激 PHP: echo”“; 回声' ) 剩余250个字符 '; 回声“; JAVASCRIPT: <script type="text/javascript"> $("#PeerFlag2").on('chan

我正在尝试在我的表中的多个文本区域中使用下面的javascript字符计数器。问题是表的第一行中只有计数器函数。带有文本区域的后续行回显“剩余250个字符”,但功能不符合预期。我不知道如何为每个字符计数器分配一个唯一的id,以便它在所有文本区域中都起作用。任何帮助都将不胜感激

PHP:

echo”“;
回声'
)
剩余250个字符
';
回声“;
JAVASCRIPT:

<script type="text/javascript">
$("#PeerFlag2").on('change keydown paste input', function(){
      updateCounter('#PeerFlag2');
});
function updateCounter(theTextAreaID) {
    var remaining = 250 - jQuery(theTextAreaID).val().length;
    jQuery(theTextAreaID + 'Span').text(remaining + ' characters remaining.');
}

$('textarea').on('keydown', function(event) {
    if (event.keyCode == 13)
        if (!event.shiftKey) $('#PeerFlag').submit();
});

</script>

$(“#PeerFlag2”)。在('change keydown paste input',function()上{
更新计数器(“#PeerFlag2”);
});
函数更新计数器(TextAreaID){
var remaining=250-jQuery(thetextrareaid).val().length;
jQuery(theTextAreaID+'Span').text(剩余+'characters remaining');
}
$('textarea')。在('keydown',函数(事件)上{
如果(event.keyCode==13)
如果(!event.shiftKey)$(“#PeerFlag”).submit();
});

这是一个非常简单的演示,所以我看不出有什么需要解释的,除了这将针对正在使用的下一个文本区域。 我看到您已经有了jQuery,所以这个演示也将使用jQuery

$(文档).ready(函数(){
$(“.UserInput”).on('input',function(){
$(this.next(“span”).html(250-this.value.length+“剩余字符”);
}).触发器(“输入”);
});

这是自动填写的




ID应该是唯一的,您应该为类似的内容使用类名,并重新考虑方法以定位正确的textarea和out。好吧,$foobar为每一行都包含一个唯一的ID。我无法让您的示例使用我在上述问题中已有的ID。我尝试将函数重命名为$(“.PeerFlag”)。在('input',function(){上命名textarea class=“PeerFlag”span标记是否位于类为
PeerFlag
的元素旁边?请将源代码复制/粘贴到jsfiddle.net中,以便我可以找到问题并尝试进一步帮助您。是的,该类为PeerFlag,那么这应该可以正常工作。打开浏览器控制台以检查任何错误报告,并确保检查jQuery库是否正在加载您的源代码示例可以独立工作,但应用到我的示例时,它不起作用。jquery库已加载。如果您想尝试修改上面的示例,我可以试一试。再次感谢。
<script type="text/javascript">
$("#PeerFlag2").on('change keydown paste input', function(){
      updateCounter('#PeerFlag2');
});
function updateCounter(theTextAreaID) {
    var remaining = 250 - jQuery(theTextAreaID).val().length;
    jQuery(theTextAreaID + 'Span').text(remaining + ' characters remaining.');
}

$('textarea').on('keydown', function(event) {
    if (event.keyCode == 13)
        if (!event.shiftKey) $('#PeerFlag').submit();
});

</script>