Javascript TypeError:f[c]向引导标记输入元素添加标记时
我有两个输入元素,其中一个我写了一些字母,autocomplete函数从数据库中获取数据并得到结果,一旦我选择了一个结果,我想将它作为标记添加到另一个输入元素中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
$('@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'
});
}
然后从此幸福地生活下去;)