").addClass(settings.classes.dropdown).appendTo(“正文”).hide();//Magic元素帮助我们调整文本输入的大小变量input_resizer=$(“").insertAfter(输入框).css文件({位置:“绝对”,顶部:-9999,左:-9999,宽度:“自动”,fontSize:input_box.css(“fontSize”),fontFamily:input_box.css(“fontFamily”),fontWeight:input_box.css(“fontWeight”),letterSpacing:input_box.css(“letterSpacing”),空白:“nowrap”});//预填充列表(如果存在项)hidden_input.val(“”);var li_data=settings.prePopulate||hidden_input.data(“pre”);if(settings.processPrePopulate&&$.isFunction(settings.onResult)){li_data=settings.onResult.call(hidden_input,li_data);}if(li_data&&li_data.length){$.each(li_data,函数(索引,值){insert_token(值);checkTokenLimit();});}////公共职能//this.clear=函数(){token_list.childs(“li”).each(function(){if($(this).children(“input”).length===0){delete_token($(this));}});}this.add=功能(项){add_token(项目);}this.remove=功能(项){token_list.childrens(“li”).each(function(){if($(this).children(“input”).length===0){var currToken=$(this).data(“tokeniput”);var match=true;for(项目中的var属性){if(item[prop]!==currToken[prop]){匹配=假;断裂;}}if(匹配){delete_token($(this));}}});}////私人功能//函数checkTokenLimit(){if(settings.tokenLimit!==null&&token_count>=settings.takenLimite){input_box.hide();hide_dropdown();回报;}其他{input_box.focus();}}函数resize_input(){if(input_val===(input_val=input_box.val()){return;}//在大小调整器中输入新内容并相应调整输入大小var escaped=input_val.replace(/&&g,'&').replace(/\s/g,'').replace(//g、 “>”);input_resizer.html(转义);输入框宽度(input_resizer.width()+30);}函数is_printable_character(键码){return((键码>=48&&键码<=90)|//0-1a-z(键码>=96&&键码<=111)|//numpad 0-9+/*。(键码>=186&&键码<=192)||//;=,-./^(键码>=219和键码<=222);//( \ ) '}//指向列表标记的内部函数函数insert_token(item){var this_token=$(““+项目名称+”
").addClass(settings.classes.token).insertBefore(input_token);//“删除令牌”按钮$("“+设置.deleteText+”").addClass(settings.classes.tokenDelete).appendTo(this_token).单击(函数(){delete_token($(this).parent());返回false;});//在令牌上存储数据var token_data={“id”:项.id,“名称”:项.name};$.data(this_token.get(0),“tokeniput”,item);//保存此令牌以进行重复检查saved_tokens=saved_tikens.slice(0,selected_token_index).concat([token_data]).concat(saved_tekens.sice(selected_token_ndex));selected_token_index++;//更新隐藏的输入var标记id=$.map(savedtokens,函数(el){返回el.id;});hidden_input.val(token_ids.join(settings.tokenDelimiter));标记计数+=1;返回this_token;}//根据用户输入将令牌添加到令牌列表函数add_token(项){var回调=settings.onAdd;//查看令牌是否已存在,如果不希望重复,请选择它if(token_count>0&&settings.preventDuplicates){var found_existing_token=空;token_list.children().each(函数(){var existing_token=$(this);var existing_data=$.data(existing_token.get(0),“tokeniput”);if(existing_data&&existing.data.id===项.id){found_existing_token=现有令牌;返回false;}});if(找到现有标记){select_token(查找现有令牌);input_token.insertAfter(found_existing_token);//input_box.focus();回报;}}//插入新令牌insert_token(项目);checkTokenLimit();//清除输入框输入框.val(“”);//不要显示帮助下拉列表,他们已经有了主意hide_dropdown();//如果已定义,则执行onAdd回调if($.isFunction(回调)){callback.call(hidden_input,item);}}//在令牌列表中选择令牌函数select_token(标记){token.addClass(settings.classes.selectedToken);selected_token=令牌.get(0);//隐藏输入框输入框.val(“”);//如果下拉列表可见,则隐藏下拉列表(例如,如果我们单击以选择标记)hide_dropdown();}//取消选择令牌列表中的令牌函数deselect_token(标记,位置){token.removeClass(settings.classes.selectedToken);selected_token=空;if(位置===位置.BEFORE){input_token.insertBefore(标记);所选标记索引--;}else if(position===position.AFTER){input_token.insertAfter(令牌);selected_token_index++;}其他{input_token.appendTo(标记列表);selected_token_index=标记计数;}//显示输入框并再次聚焦input_box.focus();}//切换标记列表中标记的选择函数toggle_select_token(标记){var previous_selected_token=选择的标记;if(selected_token){deselect_token($(selected_token),位置。结束);}if(previous_selected_token==token.get(0)){取消选择标记(标记,POSITION.END);}其他{select_token(标记);}}//从令牌列表中删除令牌函数delete_token(token){//从保存的列表中删除idvar token_data=$.data(token.get(0),“tokeniput”);var回调=settings.onDelete;var索引=token.prevAll().length;if(索引>selected_token_index)索引--;//删除令牌token.remove();selected_token=空;//显示输入框并再次聚焦input_box.focus();//从保存的列表中删除此令牌saved_tokens=saved_tikens.slice(0,index).concat(saved_tekens.sice(index+1));if(索引<selected_token_index)selected_token_索引--;//更新隐藏的输入var标记id=$.map(savedtokens,函数(el){返回el.id;});hidden_input.val(token_ids.join(settings.tokenDelimiter));token_count=1;if(settings.tokenLimit!==null){输入框(_B).show().val(“”).focus();}//如果已定义,则执行onDelete回调if($.isFunction(回调)){callback.call(hidden_input,token_data);}}//隐藏并清除结果下拉列表函数hide_dropdown(){dropdown.hide().empty();selected_dropdown_item=空;}函数show_dropdown(){下拉列表.css文件({位置:“绝对”,top:$(token_list).offset().top+$(token_list).outerHeight(),左:$(token_list).offset().left,锌指数:999}).show();}函数show_dropdown_searching(){if(settings.searchingText){dropdown.html(““+设置.searchingText+”
");show_dropdown();}}函数show_dropdown_hint(){if(settings.hintText){dropdown.html(““+settings.hintText+”
");show_dropdown();}}//突出显示搜索词的查询部分函数highlight_term(值,项){返回值.replace(新RegExp(“(?![^&;]+;)(?!<[^<>]*)(“+term+”)($1");}//用一些结果填充结果下拉列表函数populate_dropdown(查询,结果){if(结果和结果长度){dropdown.empty();var dropdown_ul=$(“