jquery - jQuery - 匹配具有相同数据的元素
问题描述
当您在每个 textarea 中键入以使用相同数据重新调整 span 中剩余的字符时,我喜欢将 textarea 数据与 span 数据匹配
如何匹配它们?
html
<span data-lang="gb"></span>
<textarea data-lang="gb"></textarea>
<span data-lang="en"></span>
<textarea data-lang="en"></textarea>
jQuery
$('textarea').each(function(){
var lang = $(this).data('lang');
$(this).keyup(function(){
if (this.value.length > 50) {
return false;
}
$('span').html("(characters left: " +(50 - $(this).val().length) + " )");
});
});
解决方案
您可以在文本区域中创建一个数据属性,告诉它什么是计数器元素,并使用它来选择和更新计数器。
像这样:
$("[data-counter]").on('input', function (e) {
var counter = $(this).data('counter');
var $counter = $(counter);
var maxlength = parseInt($(this).attr('maxlength'));
var count = $(this).val().length;
$counter.text('Characters left: ' + (maxlength - count));
}).trigger('input');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="mytext" data-counter="#mytextcounter" maxlength="50"></textarea>
<span id="mytextcounter"></span>
推荐阅读
- php - 找不到方法商店和帖子 [LARAVEL]
- r - 使用 ggplot 在 R 中创建漂亮的叠加直方图
- javascript - 监听输入时按下的特定键 - ReactJS
- laravel - 如何在显示 laravel 视图中使用 Yajra 创建数据表?
- html - 无法启动 bigbluebutton html5。我尝试使用“meteor npm install”安装“npm start”,但它不起作用
- ios - 永远不会为 UICollectionViewDiffableDataSource 执行 CellProvider 闭包
- python-asyncio - Jupyterhub 自定义生成器启动长时间延迟
- c++ - OpenGL旋转glRectf()函数?
- google-cloud-platform - 如何在 BigQuery 中查看“完整”的 SQL 错误消息?
- mysql - 为什么 current_date 不是一种方法,但为什么 version 是 mysql 中的一种方法?