ブートストラップは、自己実行機能としてページの読み込み時に実行されます。DOM に新しい要素を追加することによって - その時までに、bootstrap-tagsinput.js
それについて何も知らないでしょう。そのため、JavaScript を介して DOM ドキュメントに追加した後、初期化する必要があります。
入力タグを更新するには ( Bootstrap Tagsinput Docs ):
$('input').tagsinput('refresh');
したがって、次のことを行う必要があります。
/**
* On <div id="addrun"> on click,
* pre-apend it with an new Input
*
* Then refresh Bootstrap.
**/
$('#addrun').click(function(){
$('#addrun').before(
'<input type="text" '+
'value="Amsterdam,Washington,Sydney,Beijing" '+
'data-role="tagsinput" />'
);
//Now run bootstrap.js to re-search
//new data-* elements
$('input').tagsinput('refresh');
});
それが役立つことを願っています! ただし、上記はドキュメント全体の$('input')
すべてのタグを更新するため、代わりに先頭に追加されたタグに .class または #ID を付けて、より迅速にアクセスすることもできます =)<input>
<input>
アップデート:
koala_devがコメント内で正しく言及したため、おそらく初期化する必要はなく、次の方法で初期化する必要があります$('selector').tagsinput('refresh')
。
$('#selecor').tagsinput();
.tagsinput('refresh')
通常、指定された.tagsinput()
新しいオプションですでに初期化されている入力に対してアクションが実行されます。