Bootstrap Typeahead で Twitter Bootstrap TagsInput を使用しています。私のソースはjsonファイルですが、それは無関係であり、静的ソースで確認しました.
typeahead と tagsinput は機能していますが、Enter キー、Tab キー、またはタグをクリックすると、完全な複製が作成されます。
Enterキーを押すか、先行入力を完了するたびに、その極端な「デフォルト」が発生します。カンマで区切るか、ウィンドウからフォーカスを外してタイプアヘッドを壊すと、それは発生しません。
入力は次のとおりです。
<input id="itemCategory" type="text" autocomplete="off" class="tagsInput form-control" name="itemCategory">
そして、ここにスクリプトがあります:
<script>
$('.tagsInput').tagsinput({
confirmKeys: [13, 44],
maxTags: 1,
typeahead: {
source: function(query) {
return $.get('listcategories.php');
}
}
});
</script>
運が良ければ、再現できない奇妙なものだと確信しているので、誰かがこのようなことが起こることを知っている組織的な知識を持っていることを願っています.
これは、dev の追加テキストのイメージです。ツール:
アドバイスや提案をいただければ幸いです。ありがとうございました。
作業コード
@Girish のおかげで、この問題を「修正」したのは次のとおりです。現時点では、jQuery または Typeahead の最近のバージョンのどこかに導入されたバグだと思います。このコードは余分な要素を手動で削除するだけですが、最初からそこに配置されないようにする何かが来て、余分なコードが削除されることを願っています。今のところ、それは私のために働いています。
$('.tagsInput').tagsinput({
confirmKeys: [13, 44],
maxTags: 1,
typeahead: {
source: function(query) {
return $.get('tags.php');
}
}
});
$('.tagsInput').on('itemAdded', function(event) {
setTimeout(function(){
$(">input[type=text]",".bootstrap-tagsinput").val("");
}, 1);
});