Asp.net mvc 在从ViewBag内容选择2中添加和预选值
我正在解析推文,希望捕获任何标签。我使用Select2在数据库中维护一个Hashtags列表。如果我正在解析的Tweet的hashtag不在我们的DB中,我想将它们添加到Select2列表中并高亮显示(使用Tgas选项)。当表单提交时,它们将被添加到数据库中,并在下次出现在Tweet中时识别它们,并在Select2控件中预选 我认为下面的代码将从Tweet解析的hashtag添加到Select2并高亮显示,但是当我第二次针对同一Tweet进行测试时,它只添加了2个新的hashtag,并高亮显示,而不是第一次测试中高亮显示的hashtag 我希望这是清楚的。见附图 我的剃刀Asp.net mvc 在从ViewBag内容选择2中添加和预选值,asp.net-mvc,jquery-select2,Asp.net Mvc,Jquery Select2,我正在解析推文,希望捕获任何标签。我使用Select2在数据库中维护一个Hashtags列表。如果我正在解析的Tweet的hashtag不在我们的DB中,我想将它们添加到Select2列表中并高亮显示(使用Tgas选项)。当表单提交时,它们将被添加到数据库中,并在下次出现在Tweet中时识别它们,并在Select2控件中预选 我认为下面的代码将从Tweet解析的hashtag添加到Select2并高亮显示,但是当我第二次针对同一Tweet进行测试时,它只添加了2个新的hashtag,并高亮显示,
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(预选标记))
{
var tags=@Html.Raw(预选标记);
如果(tags.length>0){
$('#TagIds')。选择2({multiple:true,tags:true,data:tags});
$('#TagIds').val(标记);
$('#tagid')。触发器('change');
}
}
@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>
}