asp.net-mvc - 在 ViewBag Contents 中的 Select2 中添加和预选值
问题描述
我正在解析推文并希望捕获任何 HashTag。我使用 Select2 在我们的数据库中维护一个 Hashtags 列表。如果我正在解析的 Tweet 的 HashTag 尚未在我们的数据库中,我想将它们添加到 Select2 列表中并突出显示它们(使用 Tgas 选项)。提交表单后,它们将被添加到数据库中,并在它们下次出现在推文中并在 Select2 控件中预选时识别它们。
我以为我有这个工作,因为下面的代码将从 Tweet 解析的 Hashtags 添加到 Select2 中并突出显示它们,但是当我第二次针对同一个 Tweet 进行测试时,它只是添加了 2 个新的 Hashtags,并突出显示它们,而不是突出显示第一次测试中的 Hashtags。
我希望这很清楚。见附图
我的剃须刀
string PreSelectedTags = string.Empty;
if (ViewBag.Tags != null)
{
string[] values = ViewBag.Tags.Split(',');
PreSelectedTags = "[" + string.Join(", ", values.Select(s => $"'{s.Trim()}'")).Replace("#","") + "]";
}
我的JS
@if (!string.IsNullOrEmpty(PreSelectedTags))
{
<text>
var tags = @Html.Raw(PreSelectedTags);
if (tags.length > 0) {
$('#TagIds').select2({ multiple: true, tags: true, data: tags });
$('#TagIds').val(tags);
$('#TagIds').trigger('change');
}
</text>
}
解决方案
推荐阅读
- android - 无法连接到 Visual Studio 2019 for Mac 中的调试器 android 模拟器
- python - python aiorpc:“ImportError:无法从'aiorpc.server'导入名称'RPCServer'”
- java - 用于 oracle12 和 oracle19 上的 ref-cursor 的 Jooq 代码生成类
- flutter - setState 阻止编辑 TextEditingController
- vue.js - 如果用户已经使用 Vue 和 Firebase 身份验证登录,如何自动重定向用户?
- java - Maven 拉取未显示在依赖项中的 antlr jar:tree
- auth0 - 使用 Auth0 从 Kubeflow 应用程序注销导致无限循环
- spring-boot - OAuth 身份验证后未设置客户端的安全上下文
- python - 有没有办法可以使用 python 在地图图像上提取标记?
- node.js - 语法错误:意外名称“实现”