Javascript 如何在js中动态计算字符串长度?
按照代码计算用户仍在写入消息的MSG数Javascript 如何在js中动态计算字符串长度?,javascript,asp.net-mvc,Javascript,Asp.net Mvc,按照代码计算用户仍在写入消息的MSG数 <script> if (($('#Msg').val().length) <= 70) { $('#smscount').text(Math.ceil(($('#Msg').val().length) / 70)); } else { $('#smscount').text(Math.ceil(($('#Msg').val().length) / 67)); } </script> 如果($(
<script>
if (($('#Msg').val().length) <= 70) {
$('#smscount').text(Math.ceil(($('#Msg').val().length) / 70));
}
else
{
$('#smscount').text(Math.ceil(($('#Msg').val().length) / 67));
}
</script>
如果($('#Msg').val().length)您必须动态调用javascript函数以获取Msg的长度,如下所示:
<input type="text" id="Msg" onChange="checkLength();" value=""></input>
<div id="smscount"></div>
您必须在函数中添加javascript代码
function checkLength(){
if (($('#Msg').val().length) <= 70) {
$('#smscount').text(Math.ceil(($('#Msg').val().length) / 67));
}
else
{
$('#smscount').text(Math.ceil(($('#Msg').val().length) / 67));
}
}
函数checkLength(){
如果($('#Msg').val().length)假设要处理文本框的keyup
事件,以便在键入时更新该值,则脚本应
var count = $('#smscount'); // cache it
$('#Msg').keyup(function() {
var l = $(this).val().length;
if(l <= 70) {
count.text(Math.ceil(l / 70));
} else {
count.text(Math.ceil(l / 67));
}
});
var count=$('#smscont');//缓存它
$('#Msg').keyup(函数(){
var l=$(this).val().length;
如果(l如何调用此代码?如图所示,在第一次呈现页面时只调用过一次。此代码根本不会运行。语句中的括号不平衡,因此会出现语法错误。@StephenMuecke,我在这里调用它:0@Guffa感谢编译器,代码if正在运行,它还可以,现在为什么没有呢到达其他位置?不,这只是显示消息的元素。加载页面时,您显示的脚本只运行一次,因此,如果消息长度最初小于70,则除以70。我猜您可能希望处理文本框的.keyup()
事件,以便在键入时更新值(但不确定您真正想要什么)文本框在onChange()中有另一个函数,非常感谢:)