我目前在mvc页面上使用两个脚本,一个使用Tag-It,另一个允许通过对话框添加新标签。但是,以下脚本在创建新标签时不会加载新数据,我想知道如何获取它来加载新标签。当用户在关闭对话框后立即创建标签时,应该可以在Tag-It中对其进行标记。事实并非如此,我必须重新加载页面才能在Tag-It中看到新标签。
用于创建新标签的对话框:
<script type="text/javascript">
var dialog = $('#dialog');
var tags = $('#singleFieldTags');
var url = '@Url.Action("CreateTag")';
$('#addtag').click(function () {
dialog.show();
});
$('#createtag').click(function () {
var form = $(this).closest('form');
$.post(url, form.serialize(), function (data) {
if (data) {
//method for reloading tag it data....
form.get(0).reset();
dialog.hide();
}
});
})
</script>
Tag-It脚本:
<script type="text/javascript">
$(function () {
var sampleTags = JSON.parse('@Html.Raw(ViewBag.AllTags)');
$('#singleFieldTags').tagit({
availableTags: sampleTags,
});
})
</script>
最佳答案
成功保存新的Tag
后,可以使用$(element).tagit("createTag", "tagName");
Refer documentation将其name属性添加到现有标签列表中
$('#createtag').click(function () {
var form = $(this).closest('form');
$.post(url, form.serialize(), function (data) {
if (data) {
//method for reloading tag it data....
form.get(0).reset();
dialog.hide();
// Add the new tag
var tagName = ? // based on a previous related question, this would be data.Name
$('#singleFieldTags').tagit("createTag", tagName);
}
});
})
关于jquery - 更新标签表后在tag-it中刷新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29846024/