输入时出现额外标签

时间:2013-12-12 03:49:25

标签: jquery

    function limitofTags(){
    var tags = $('div').find('.tag').map(function(){
        if (!$(this) = '')
        return $(this).text();
    }).get();

    $("#tags").prop('disabled', tags.length >= 12);
    var limit = 12;
    var $counter = $('.numoftags');
    var remains = parseInt(limit - tags.length);

    if(remains == 1){
        $counter.text(remains + ' more tags');
    }

    if(tags.length >= limit){

        $counter.text('Cannot display anymore tags');
    }

    else{

        $counter.text('Add ' + remains + ' more tags');
    }

}

保存草稿而不输入标签时,在下一页上,它将显示没有文字的删除图标。我试图找到为什么它在保存草稿而不输入标签时显示下一页上的删除图标。

编辑#2

function addTag() {
    // invoked on button click or spacebar
    var tag = $.trim( $('#tags').val() );

    if(tag !== ''){

        $('<div class="tag"><a href="" class="tag-delete"><i class="icn-delete"></i></a>' + tag + '</div>').appendTo('.tags-box');

        $('#tags').val('');
    }
    limitofTags();


}

不应该像上面那样添加标签。但它仍然在下一个标签上显示带有删除图标的空标签。

任何指示或指导或帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

本声明

if (!$(this) = '')

应该是

if ($(this) != '')

答案 1 :(得分:0)

您的方法有更多问题需要测试元素的文本而不是$(this),还要修剪它

var tags = $('div').find('.tag').map(function () {
    var text = $.trim($(this).text())
    if (text != '') {
        return text
    };
}).get();