我目前在 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>
标记脚本:
<script type="text/javascript">
$(function () {
var sampleTags = JSON.parse('@Html.Raw(ViewBag.AllTags)');
$('#singleFieldTags').tagit({
availableTags: sampleTags,
});
})
</script>
最佳答案
成功保存新的 Tag
后,您可以使用 $(element).tagit("createTag", "tagName"); 将其 name 属性添加到现有标签列表中。
Refer documentation
$('#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/