1

我正在使用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[]);
4

0 回答 0