Javascript 如何在js中动态计算字符串长度?

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> 如果($(

按照代码计算用户仍在写入消息的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>


如果($('#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()中有另一个函数,非常感谢:)