我在bootstrap 3网站上使用tag-it.js。我有一个div,其中加载了多个项目,每个项目都有一个按钮来触发模态(主页上的单个项目)
click事件通过ajax从db获取标记列表。不幸的是,这只是第一次有效。
$(document).on('click','.modalTag',function(){
var pID = "<?php echo $project[0]['pID'];?>";
var file = $(this).attr("data-filename");
$.ajax({
method: "POST",
url: "/admin/ajax/get_tags.php",
data: {file: file, pID: pID},
success: function( data ) {
$('#myTagsField').val(data);
jQuery("#myTagsList").tagit({
singleField: true,
singleFieldNode: $('#myTagsField'),
allowSpaces: true,
minLength: 2,
caseSensitive: false,
removeConfirmation: true,
tagSource: function( request, response ) {
//console.log("1");
$.ajax({
url: "/admin/search.php",
data: { term:request.term },
dataType: "json",
success: function( data ) {
response( $.map( data, function( item ) {
return {
label: item.label+" ("+ item.id +")",
value: item.value
}
}));
}
});
}
});
}
});
当我点击第二个按钮获取该特定项目的标签时,它会显示初始标签。
我也试过这个:
$('#modalTag').on('hide.bs.modal', function () {
$("#myTagsList").tagit("removeAll");
});
但这只会导致下一个开场的空列表。
任何暗示都赞赏!