【发布时间】:2020-09-08 14:48:07
【问题描述】:
我有一个 tagify 输入,对于添加的每个标签,我都有一个下拉框来指定该标签的一些评级。说 1-5。
<input id="generic-skills" class="tagify" tabindex="-1"/>
let genericSkillsInput = document.querySelector("#generic-skills");
let genericSkills = new Tagify(genericSkillsInput, {
whitelist: [],
maxTags: 10, // <- maximum allowed selected tags
dropdown: {
maxItems: 10, // <- maxumum allowed rendered suggestions
enabled: 0, // <- show suggestions on focus
closeOnSelect: true // <- do not hide the suggestions dropdown once an item has been selected
}
});
然后我想在此列表下方有一个下拉框列表,每次添加/删除标签时都会修改它。
<div id="generic-skills-dropdowns" class="offset-1 col-sm-4 pad-all">
<div class="form-group">
<label>tag name</label>
<select class="form-control kt-select2" id="kt_select2_2" name="param">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</div>
</div>
我知道我可以有这样的事件处理程序:
async function onGenericSkillsTagsChange(e) {
const {name, value} = e.target;
const dropdowns = $('#generic-skills-dropdowns');
const newDropdown =
"<div class='form-group'>\n" +
" <label>"+ name +"</label>\n" +
" <select class='form-control kt-select2' id='kt_select2_2' name='param'>\n" +
" <option>1</option>\n" +
" <option>2</option>\n" +
" <option>3</option>\n" +
" </select>\n" +
"</div>";
dropdowns.append(newDropdown);
}
genericSkills.DOM.originalInput.addEventListener('change', onGenericSkillsTagsChange);
但这并没有指定是添加还是删除了标签,只是给出了所有当前标签的列表。那么如何跟踪输入中的标签呢?
【问题讨论】:
-
how can I keep track of which tags are in the input?-tagify.value
标签: javascript html jquery spring spring-mvc