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

时间:2015-02-20 05:11:16

标签: javascript php jquery

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

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

就像下面的html代码一样。

我可以限制单词,但是计数不准确但是当它达到5时,它就会停止输入。

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

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

我曾试图改变/\S+/g to /\s+/g,不工作,我必须保留S资本。

JQuery的:

$( "#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>

2 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:1)

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

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

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