我正在尝试实现tag-it输入,除了我想限制用户只选择
自动完成框中的值.
我尝试使用源json覆盖beforeTagAdded事件并检查标记是否存在
在源属性但没有运气.
自动完成框中的值.
我尝试使用源json覆盖beforeTagAdded事件并检查标记是否存在
在源属性但没有运气.
$(document).ready(function () { var itemId; var theTags = $('#msg_to'); theTags.tagit({ autocomplete: { source: [{ id: "1",value: 'David'},{ id: "2",value: 'John' }],minLength: 0,select: function (event,ui) { itemId = ui.item.id; theTags.tagit("createTag",ui.item.value); } },showAutocompleteOnFocus: true,afterTagAdded: function (event,ui) { if (itemId) { $(ui.tag).find('input').attr('name',"tag[\'" + itemId + "']['" + ui.tagLabel + "']"); itemId = null; } },beforeTagAdded: function (event,ui) { var id = ui.autocomplete.source; // not working // what to do next? } }) }); </script>
提前致谢
解决方法
我的解决方案
$(function() { var currentlyValidTags = ['ac','dc']; $('input[name="_tags"]').tagit({ availableTags: currentlyValidTags,autocomplete: { source: function( request,response ) { var filter = removeDiacritics(request.term.toLowerCase()); response( $.grep(currentlyValidTags,function(element) { return (element.toLowerCase().indexOf(filter) === 0); })); }},beforeTagAdded: function(event,ui) { if ($.inArray(ui.tagLabel,currentlyValidTags) == -1) { return false; } } }); });