保留前五个字符并截断自动完成中的其他字符?

时间:2014-07-04 11:24:02

标签: javascript jquery autocomplete fcbkcomplete

我有一个包含多个令牌的自动填充文本框。我想检查前五个输入的字符是否匹配并截断其他字符。

请在下面找到我的用户界面屏幕: enter image description here

实际上我已经使用shift +箭头键定制了fcbk完整插件,可以进行多选功能,一次选择多个项目。

我想检查前五个字符以匹配并截断其他字符...

我的代码如下:

 var addItem = function(item, preadded){
    console.log(item);
    if(item.length > 1)
    {

        for (var i=0;i<item.length;i++)
        {
            var title = $(item[i]).text();
            console.log('Title = ' + title);
            var value = ($(item[i]).attr('rel') && $(item[i]).attr('rel') != -1 ? $(item[i]).attr('rel') : title);
            var li = document.createElement('li');
            var txt = document.createTextNode(title);
            var aclose = document.createElement('a');
            var input = addHiddenInput(value);
            $(li).attr({
                'class': 'bit-box'
            });
            $(li).prepend(txt);
            $(aclose).attr({
                'class': 'closebutton',
                'href': '#'
            });
            li.appendChild(aclose);
            li.appendChild(input);
            holder.appendChild(li);
            $(aclose).click(function(){
                $(this).parent('li').fadeOut('fast', function(){
                    $(this).remove();
                });
                return false;
            });
             item[i].remove();
        }
    }
    else
    {

    console.log(item);
    var title = item.text();
    console.log('title = ' + title);
    var value = (item.attr('rel') && item.attr('rel') != -1 ? item.attr('rel') : title);
    var li = document.createElement('li');
    var txt = document.createTextNode(title);
    var aclose = document.createElement('a');
    var input = addHiddenInput(value);
    $(li).attr({
        'class': 'bit-box'
    });
    $(li).prepend(txt);
    $(aclose).attr({
        'class': 'closebutton',
        'href': '#'
    });
    li.appendChild(aclose);
    li.appendChild(input);
    holder.appendChild(li);
    $(aclose).click(function(){
        $(this).parent('li').fadeOut('fast', function(){
            $(this).remove();
        });
        return false;
    });
     }
    if (!preadded) {
        holder.removeChild(document.getElementById(elem[0].id));
        addInput(elem);
    }
     if(!controlKeyPressed){
    feed.hide();
}
item.remove();
}

这是我的addItem函数,其中mutiselect值被添加到带有标记的自动完成文本框中。

我的预期输出:

Manuel...

对此有何帮助?

1 个答案:

答案 0 :(得分:1)

嘿,你可以实现你的东西,如下面的代码:

    txt.substr(0, txt.length - 1);
    $(li).html(txt + "...");

尝试此选项......