我正在使用https://github.com/aehlke/tag-it这个插件,并且无法为其设置预定义的标签。
因此,如果我有一组要默认选择的标签:
function PredifinedTagsSet(tags) {
for(var i = 0; i < tags.length; i++) {
var el = "";
el = "<li class=\"tagit-choice\">\n";
el += tags[i] + "\n";
el += "<a class=\"close\">x</a>\n";
el += "<input type=\"hidden\" style=\"display:none;\" value=\""+tags[i]+"\" name=\"item[tags][]\">\n";
el += "</li>\n";
var el = "";
el = "<li class=\"tagit-choice ui-widget-content ui-state-default ui-corner-all tagit-choice-editable\"><span class=\"tagit-label\">";
el += tags[i];
el += "</span><a class=\"tagit-close\"><span class=\"text-icon\">×</span><span class=\"ui-icon ui-icon-close\"></span></a></li>";
$("#myTags").prepend(el);
}}
我的标签容器:
<div class="tags-container">
<input type="hidden" name="tags" id="mySingleField" value=""/>
<label>Tags:</label>
<ul id="myTags">
</ul>
</div>
并标记它 jQuery:
$(document).ready(function () {
$('#myTags').tagit({
availableTags: @Html.Raw(Json.Encode(@ViewBag.Tags)),
singleField: true,
singleFieldNode: $('#mySingleField')
});
});
我尝试使用 javascript 设置数据 <ul id="myTags"></ul>
, <input type="hidden" name="tags" id="mySingleField" value=""/>
但我无法从标签栏中删除标签,或者我得到重复值。
var hiddenTagsValue = "";
if(tags.length > 0){
hiddenTagsValue += tags[0];
if(tags.length > 1)
for(var i = 1; i < tags.length; i++) {
hiddenTagsValue += ", ";
hiddenTagsValue += tags[i];
}
}
$("#mySingleField").val(tags[]);