如何實作textarea中取得動態剩餘字數的方法

高洛峰
發布: 2017-02-18 15:58:08
原創
1378 人瀏覽過

工作中遇到一個案例,之前沒有寫過,今兒啃了半個下午硬是給寫出來,灰常又成就感!當然對於js大牛來說這根本不算啥,但對於我自己的js能力又向前邁出一小步。

案例介紹:我們常見到有的網站有textarea文字框,當你輸入的時候,下面有文字提示還能輸入多少個字,今天就是要實現這個功能。當然,由於一個頁面有好幾個textarea,所以使用單一js邏輯進行控制是不行的,得小小的進行封裝一下。當然我的封裝還有缺漏,但是基本功能是實現了。

首先介紹下單一textarea實作案例

html部分:

<textarea id="text_txt1"></textarea>  
<span id ="num_txt1">剩余可输入600字</span>
登入後複製

js部分:

$(function(){   
   $(&#39;#text_txt1&#39;).on(&#39;keyup&#39;,function(){   
       var txtval = $(&#39;#text_txt1&#39;).val().length;   
       console.log(txtval);   
      var str = parseInt(600-txtval);   
      console.log(str);   
        if(str > 0 ){   
          $(&#39;#num_txt1&#39;).html(&#39;剩余可输入&#39;+str+&#39;字&#39;);   
      }else{   
          $(&#39;#num_txt1&#39;).html(&#39;剩余可输入0字&#39;);   
          $(&#39;#text_txt1&#39;).val($(&#39;#text_txt1&#39;).val().substring(0,600)); //这里意思是当里面的文字小于等于0的时候,那么字数不能再增加,只能是600个字   
        }   
        //console.log($(&#39;#num_txt&#39;).html(str));   
    });   
})
登入後複製

然後介紹同頁下多個text>個實際的數字也可以封裝在函數內部,不過我就不封裝了。這樣就實現了當輸入文字的時候,span內部會自動顯示剩餘字數,當輸入值達最高值時,顯示剩餘字數為0,且無法在新填入內容。當刪除文字的時候,span又能動態取得剩餘字數。

下面上下別人的程式碼,這次多少也藉鑒了別人的寫法

html:

function changeLength(obj,num){   
    obj.on(&#39;keyup&#39;,function(){   
    var txtval = obj.val().length;   
        //console.log(txtval);   
        var str = parseInt(600-txtval);   
        //console.log(str);   
        if(str > 0 ){   
            num.html(&#39;剩余可输入&#39;+str+&#39;字&#39;);   
        }else {   
            num.html(&#39;剩余可输入0字&#39;);   
            obj.val(obj.val().substring(0, 600));   
        }   
        //console.log($(&#39;#num_txt&#39;).html(str));   
    });   
}   
$(function(){ //我这里有四个,所以调用4次   
    changeLength($(&#39;#text_txt1&#39;),$(&#39;#num_txt1&#39;));   
    changeLength($(&#39;#text_txt2&#39;),$(&#39;#num_txt2&#39;));   
    changeLength($(&#39;#text_txt3&#39;),$(&#39;#num_txt3&#39;));   
    changeLength($(&#39;#text_txt4&#39;),$(&#39;#num_txt4&#39;));   
});
登入後複製

js:

<p class="family_v2">  
    <p class="nickname_v2">简介:</p>  
     <textarea id="content" name="sign" style="height:60px;overflow-y: hidden;"  
     onkeyup="changeLength(this,60)" class="nicknameBox_v2 brief_box_v2">  
     </textarea>  
     <p class="limit_num_v2">  
         <h3>60</h3>  
    </p>  
 </p>
登入後複製

以上這篇如何實現textarea中獲得剩餘小編字數的方法給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。

更多如何實現textarea中獲取動態剩餘字數的方法相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板