繁体   English   中英

为什么我的代码无法在 jquery 中正确计算计数?

[英]How come my code cannot calculate count correctly in jquery?

我正在尝试限制关键字输入。

每当用户输入关键字时,它都会在该关键字后附加“span”,例如

就像下面的html代码。

我可以限制字数,但计数不准确,但当达到 5 时,它停止输入。

如果我刷新页面,我可以再输入一个,然后再次阻止我。

奇怪的是,如果我将 id 用于var count=$('#result_tag').text() ,则它不起作用。 我必须使用类。

我曾尝试将/\\S+/g to /\\s+/g更改/\\S+/g to /\\s+/g ,但不起作用,我必须保留 S 大写字母。

查询:

$( "#tag" ).on( "keydown", function( event ) {

        var count=$('.result_tag').text();
        var words=count.match(/\S+/g).length;

        if(words >= 8 ){

            alert('No more than eight words');  
        }       

        //save tag after press enter key   
        else if ( event.which==188 || event.which == 13 ) {

        event.preventDefault();
        //codes will do the action

HTML:

<span id="result_tag" class="result_tag">keyword that user enter</span>
<span id="result_tag" class="result_tag">keyword that user enter</span>
<span id="result_tag" class="result_tag">keyword that user enter</span>

ids 应该是唯一的,这就是为什么“如果我使用 id 它不起作用”。

至于你的另一个问题,你的计数方法似乎有点复杂。 听起来您需要做的就是计算跨度本身:

var words = $('.result_tag').length;

使用length属性来获取关键字的数量。

    $("#tag").on("keydown", function(event) 
    {
         var count = $('.result_tag').length;
         if (count >= 8) 
         {
               alert('No more than eight words');
         }

         ...........
         ...........

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM