对输入的字符进行计数,并在x个字符之后增加一个变量
Count characters of input and increment a variable after x characters
我正在将AngularJS添加到一个项目中,需要计算文本区域的长度,每160个字符增加"页面"(消息应用程序)的总数-如果文本被删除则递减。
用Angular获取textarea的长度很简单:
<textarea ng-model="message" class="form-control" name="message" id="message" cols="30" rows="2"></textarea>
<span class="help-block"><strong>Characters</strong>: <% message.length > 0 ? message.length : 0 %></span>
我猜处理逻辑以确定页面数量的最佳位置是在我的Javascript代码中,但我无法弄清楚如何将ng-model
链接到我的代码。
不需要修改ng,直接在dom中修改即可:
<textarea ng-model="message" class="form-control" name="message" id="message" cols="30" rows="2"></textarea>
<span class="help-block"><strong>Characters</strong>: {{ (message.length - message.length % 160) / 160 + 1 }}</span>
jsFiddle: http://jsfiddle.net/EEMd3/
编辑
要包含其他细节,只需将它们添加到计算中:
{{ (message.length - message.length % 160 + user.name + agency.nickname + ...) / 160 + 1 }}
在Evandro Silva的帮助下-使用ng-change
:
$scope.change = function(length)
{
$scope.pages = Math.round(length / 160) + 1;
}
<textarea ng-model="message" class="form-control" ng-change="change(message.length)" name="message" id="message" cols="30" rows="2"></textarea>
<span class="help-block"><strong>Characters</strong>: <% message.length > 0 ? message.length : 0 %></span>
相关文章:
- JQuery使计数器每次更改时都会增加
- 在JavaScript中输出转义字符
- 不同浏览器中的空白字符正则表达式行为
- Regex匹配除“”之外的所有字符;.js”;
- 如何增加同时按键总数
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 如何使用css动画从中心增加边界线
- 使用RegExp查找url中的字符
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 允许在文本框中使用某些字符
- 根据页面的位置突出显示文本中的字符
- 元素的内容必须由格式正确的字符数据或标记组成
- 如何将字符串拆分为字符,但在javascript中保留空格
- 使用Google Maps API向标记添加多个字符
- JavaScript:单击时相对于父级增加变量值
- 处理JSON字符串会导致JavaScript错误
- 文本区域中的新行字符会增加 C# 中的文本长度
- 使用JavaScript将字母字符增加到下一个字符
- 对输入的字符进行计数,并在x个字符之后增加一个变量