jquery - 更新标签表后刷新 tag-it 中的数据

标签 jquery html asp.net-mvc

我目前在 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/

相关文章:

asp.net - 在 ASP.NET 中流式传输大文件上传

javascript - 鼠标滚轮停止滚动时获取Value

javascript - 单击按钮后关闭使用 window.open() 打开的窗口

javascript - Gmap、jQuery 和谷歌地图

jquery - CSS3 动画不适用于 jQuery 数据表

php - 如何将选择的值从下拉列表传递到数据库表

c# - 单击按钮时如何重定向用户?

jquery - 使用 jQuery 添加表行 - MVC 4

javascript - 没有模型的 Backbone.js datepicker 事件监听器

javascript - Jquery 验证不为空并且是表单中的 URL