gpt4 book ai didi

javascript - 计算具有不同 id 和名称属性的动态创建的文本区域的字符数

转载 作者:行者123 更新时间:2023-12-02 21:47:10 27 4
gpt4 key购买 nike

我有两个文本区域,一个在另一个下

<div class="form-group">
<span id="textarea_feedback1"></span>
<span> 🖊Characters left</span>
<br>
<textarea name="answer1" id="answer1" rows="4" placeholder="Type your answer here" areaid="1"></textarea>
<hr>
<span id="textarea_feedback2"></span>
<span> 🖊Characters left</span>
<br>
<textarea name="answer2" id="answer2" rows="4" placeholder="Type your answer here" areaid="2"></textarea>
</div>

两个文本区域都是动态创建的,并且它们具有不同的 id 和名称属性。在某些时候,它们可能是 2、3、4……等等。我想做的是为每个动态应用的文本区域创建一个字符计数器。

如果文本区域的数量是固定的(即始终为 2),那就很容易了。

但是我很难找到一种方法将同一个 JQuery 脚本应用到具有不同名称和 id 属性的文本区域。

我正在考虑向每个文本区域添加一个像 areaid="" 这样的独特属性,这样我就可以以某种方式动态修改脚本。

这是我的脚本

$(document).ready(function() {
var text_max = 400;

$('#textarea_feedback1').html('<span>'+text_max + '</span>');

$('#answer1').on('input click keyup', function() {
var text_length = $('#answer1').val().length;
var text_remaining = text_max - text_length;

$('#textarea_feedback1').html('<span>'+text_remaining + '</span>');
});

});

基本上,我认为应该发生的是,基于 areaid attr 来更改 span id="textarea_feedback" 和 textatea id="answer" 来匹配 areaid 值,因此脚本可以以某种方式单独工作到我拥有的尽可能多的文本区域。

这里是jsfiddle

最佳答案

spantextarea 包装在 div 等元素中,以便您可以轻松访问这两个元素。

;window.onload = function(){
var text_max = 400;

for(var tL=document.querySelectorAll('.dummy textarea'), i=0, j=tL.length; i<j; i++){
$(tL[i]).on('input click keyup', function(){
var text_length = this.value.length;
var text_remaining = text_max - text_length;

this.parentNode.querySelector('span').textContent = text_remaining
})
}
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-group">

<div class = 'dummy'>
<span id="textarea_feedback1"></span>
<span> 🖊Characters left</span>
<br>
<textarea name="answer1" id="answer1" rows="4" placeholder="Type your answer here" areaid="1"></textarea>
</div>

<hr>

<div class = 'dummy'>
<span id="textarea_feedback2"></span>
<span> 🖊Characters left</span>
<br>
<textarea name="answer2" id="answer2" rows="4" placeholder="Type your answer here" areaid="2"></textarea>
</div>
</div>

关于javascript - 计算具有不同 id 和名称属性的动态创建的文本区域的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60226062/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com