codedrinker / community

开源论坛、问答系统,现有功能提问、回复、通知、最新、最热、消除零回复功能。功能持续更新中…… 技术栈 Spring、Spring Boot、MyBatis、MySQL/H2、Bootstrap

Home Page:http://www.mawen.co

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

前端的一个小bug

jerrykcode opened this issue · comments

提问页面,添加标签时,若添加了"docker"就无法再添加"c", 因为字符串"c"在"docker"中出现过。
即添加一个标签时,如果这个标签之前并不存在,但是只要有一个包含了这个标签字符串的另一个标签存在,就无法添加这个标签。
community.js中的selectTag方法,

function selectTag(e) {
    var value = e.getAttribute("data-tag");
    var previous = $("#tag").val();
    if (previous.indexOf(value) == -1) {
        if (previous) {
            $("#tag").val(previous + ',' + value);
        } else {
            $("#tag").val(value);
        }
    }
}

目前只判断了待添加标签字符串value是否在previous中出现过,
可以改为:
找到previous中出现的所有value子串, 并判断每个value子串是一个独立标签还是另一个标签的一部分。若都只是另一个标签的一部分,那么这个新标签是可以添加的