Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:f[c]向引导标记输入元素添加标记时_Javascript_Jquery_Html_Twitter Bootstrap - Fatal编程技术网

Javascript TypeError:f[c]向引导标记输入元素添加标记时

Javascript TypeError:f[c]向引导标记输入元素添加标记时,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,我有两个输入元素,其中一个我写了一些字母,autocomplete函数从数据库中获取数据并得到结果,一旦我选择了一个结果,我想将它作为标记添加到另一个输入元素中 $('@ID("#input_to")').autocomplete({ source: function (request, response) { jQuery.post('@Html.Raw(Url.Action("LoadAutocomplete", "Correspondence", n

我有两个输入元素,其中一个我写了一些字母,autocomplete函数从数据库中获取数据并得到结果,一旦我选择了一个结果,我想将它作为标记添加到另一个输入元素中

$('@ID("#input_to")').autocomplete({
        source: function (request, response) {
            jQuery.post('@Html.Raw(Url.Action("LoadAutocomplete", "Correspondence", new
            {
                                                                                        Area = "Correspondence"
        }))',
                request, response);
        },
        minLength: 3,
        select: function (event, ui) {
            try {
                var elt = $('@ID("#input_tags_test")').tagsinput('input');

                elt.tagsinput({
                    itemValue: 'id',
                    itemText: 'text'
                });

                elt.tagsinput('add', { id: ui.item.id, text: ui.item.value });

                console.log(elt.tagsinput('items'));
            } catch (err) {
                console.log(err);
            }
            jQuery('@ID("#input_to")').val(ui.item.id);
        }
    });
下面是html代码

<input type="text" id="@ID("input_tags_test")" class="form-control bootstrap-tagsinput" data-role="tagsinput">               
            <input type="text" id="@ID("input_to")" class="form-control" name="recipientsName" placeholder="Search for someone...">

它只在第一次起作用。。第二次抛出异常

TypeError:f[c]不是函数 …删除();b、 itemsArray.length>0;)b、 itemsArray.pop();b、 pushVal(),b.options


我发现了如何修复它,我不应该两次定义tagsinput('input')。。我不熟悉javascript和web开发,我认为在C#中,数据成员(本例中为elt)将被销毁,并且在函数完成执行后将调用析构函数,但这里显然不是这样,因此添加一个简单的null check if语句解决了问题

 if (elt == null) {
                    elt = $('@ID("#input_tags_test")').tagsinput('input');

                    elt.tagsinput({
                        itemValue: 'id',
                        itemText: 'text'
                    });
                }
然后从此幸福地生活下去;)