Javascript jQuery标记:使用输入按钮添加标记

Javascript jQuery标记:使用输入按钮添加标记,javascript,jquery-plugins,tag-it,Javascript,Jquery Plugins,Tag It,在我当前项目的开发中,我使用了一个非常棒的插件 一切都进展顺利(令人怀疑),直到我尝试添加自己的jQuery。我的目标是让最终用户可以选择使用按钮添加标签。我放了一些测试按钮,看看它是否有效 问题是什么?我开发的代码可以粘贴所需的术语,但目标输入不会在我输入标记时看到它。它将在那里停留几秒钟,然后自动删除。以下是我目前使用的代码: HTML: 获取标签 标签记录 jQuery: $(function () { var availableTags = [ "ActionScript

在我当前项目的开发中,我使用了一个非常棒的插件

一切都进展顺利(令人怀疑),直到我尝试添加自己的jQuery。我的目标是让最终用户可以选择使用按钮添加标签。我放了一些测试按钮,看看它是否有效

问题是什么?我开发的代码可以粘贴所需的术语,但目标输入不会在我输入标记时看到它。它将在那里停留几秒钟,然后自动删除。以下是我目前使用的代码:

HTML:


    获取标签 标签记录
    jQuery:

    $(function () {
    
    var availableTags = [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++",
        "Clojure",
        "COBOL",
        "ColdFusion",
        "Erlang",
        "Fortran",
        "Groovy",
        "Haskell",
        "Java",
        "JavaScript",
        "Lisp",
        "Perl",
        "PHP",
        "Python",
        "Ruby",
        "Scala",
        "Scheme"
    ];
    
    $('#demo1').tagit({
        tagSource:availableTags,
        select:true,
        sortable:true,
        allowNewTags:false,
        triggerKeys:['enter', 'comma','tab']
    });
    
    $("#demo1GetTags").click(function () { showTags($("#demo1").tagit("tags")) });
    
    function showTags(tags) {
        console.log(tags);
        var string = "";
        for (var i in tags)
            string += tags[i].value + ",";
        var result = string.slice(0,-1);
        $('#recordtags').append( result+"<br>" );
    }
    
    //MY CLICK FUNCTION THAT ISN'T WORKING PROPERLY
    $(".addIt").click(function(){
        var selectorTarget = "#demo1";
    
        var specificInput = " .tagit-new input.tagit-input";
        var where2paste = selectorTarget+specificInput;
        $( where2paste ).focus();
        var value = this.id;
        var pastefield = where2paste;
        var input = $(pastefield);
        input.val(input.val() + value + ',');
        return false;
    });
    
    setInterval("$('#fork').effect('pulsate', { times:1 }, 500);", 5000);
    });
    
    $(函数(){
    var availableTags=[
    “动作脚本”,
    “AppleScript”,
    “Asp”,
    “基本”,
    “C”,
    “C++”,
    “Clojure”,
    “COBOL”,
    “ColdFusion”,
    “二郎”,
    “Fortran”,
    “好极了”,
    “哈斯克尔”,
    “爪哇”,
    “JavaScript”,
    “口齿不清”,
    “Perl”,
    “PHP”,
    “Python”,
    “红宝石”,
    “斯卡拉”,
    “方案”
    ];
    $('demo1').tagit({
    标记来源:可用标记,
    选择:true,
    可排序:是的,
    allowNewTags:false,
    触发器键:[“输入”、“逗号”、“制表符”]
    });
    $(“#demo1GetTags”)。单击(函数(){showTags($(“#demo1”).tagit(“tags”)});
    函数showTags(标签){
    控制台日志(标签);
    var字符串=”;
    for(标签中的变量i)
    字符串+=标记[i]。值+“,”;
    var result=string.slice(0,-1);
    $('#recordtags')。追加(结果+“
    ”); } //我的单击功能无法正常工作 $(“.addIt”)。单击(函数(){ 变量selectorTarget=“#demo1”; var specific input=“.tagit new input.tagit input”; var,其中2Paste=选择器或目标+特定输入; $(其中2paste.focus(); var值=this.id; var pastefield=其中2个Paste; 变量输入=$(粘贴字段); val(input.val()+value+','); 返回false; }); setInterval($('#fork').effect('pulstate',{times:1},500);”,5000); });

    我的代码中的所有内容都完全按照需要工作,除了需要的一点功能之外:(因此,我的问题是:我需要调整或改进哪些东西来帮助我使用输入按钮添加标签?提前非常感谢。(e hugs)

    您只需使用tagit
    add
    方法即可

    代码:


    演示:

    哦,天哪,它起作用了。:)我还是JS/jQuery的中级用户,所以我衷心感谢您,Irvin先生。(e)错误:tagit小部件没有此类“添加”方法instance@DamjanPavlica你能提供一个演示吗?同样的问题请看这里:@DamjanPavlica链接的问题也是关于另一个名为TagIt的插件
    $(function () {
    
    var availableTags = [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++",
        "Clojure",
        "COBOL",
        "ColdFusion",
        "Erlang",
        "Fortran",
        "Groovy",
        "Haskell",
        "Java",
        "JavaScript",
        "Lisp",
        "Perl",
        "PHP",
        "Python",
        "Ruby",
        "Scala",
        "Scheme"
    ];
    
    $('#demo1').tagit({
        tagSource:availableTags,
        select:true,
        sortable:true,
        allowNewTags:false,
        triggerKeys:['enter', 'comma','tab']
    });
    
    $("#demo1GetTags").click(function () { showTags($("#demo1").tagit("tags")) });
    
    function showTags(tags) {
        console.log(tags);
        var string = "";
        for (var i in tags)
            string += tags[i].value + ",";
        var result = string.slice(0,-1);
        $('#recordtags').append( result+"<br>" );
    }
    
    //MY CLICK FUNCTION THAT ISN'T WORKING PROPERLY
    $(".addIt").click(function(){
        var selectorTarget = "#demo1";
    
        var specificInput = " .tagit-new input.tagit-input";
        var where2paste = selectorTarget+specificInput;
        $( where2paste ).focus();
        var value = this.id;
        var pastefield = where2paste;
        var input = $(pastefield);
        input.val(input.val() + value + ',');
        return false;
    });
    
    setInterval("$('#fork').effect('pulsate', { times:1 }, 500);", 5000);
    });
    
    //MY CLICK FUNCTION THAT ISN'T WORKING PROPERLY
    $(".addIt").click(function () {
        $('#demo1').tagit('add', this.id);
        return false;
    });