页面用到自动完成功能及需要taginput控件去展示,查资料的过程中发现
有两个类似的jQuery类库,到现在我也没搞明白它们两个有啥关联,jquery.tagsinput.js和bootstrap-tagsinput.js,后者在github上有(https://github.com/bootstrap-tagsinput/bootstrap-tagsinput),官网地址:http://jquery-plugins.net/bootstrap-tags-input;
前者的用法
$(selector).tagsInput({ 'autocomplete_url': url_to_autocomplete_api,//这个参数可以试url或者js方法 'autocomplete': { option: value, option: value},//这个参数只有当使用旧版的autocomplete类库才有用,对集成到JQuery.ui中的无效 'height':'100px', 'width':'300px', 'interactive':true, 'defaultText':'add a tag', 'onAddTag':callback_function, 'onRemoveTag':callback_function, 'onChange' : callback_function, 'removeWithBackspace' : true, 'minChars' : 0, 'maxChars' : 0 //if not provided there is no limit, 'placeholderColor' : '#666666' });
这里有个坑 autocomplete补充的下拉,是个对象,select的option会有 value和label,当我们点击选中的时候会只会讲value 传递个taginput,因为taginput只能是字符串,没有对对象进行处理,所有只能修改源码,处理value是个对象的情况(需要处理的问题有两点,一是taginput的显示字段,另一个是我们需要取到的值,因为每次点击autocomplete的下拉框都会触发taginput的addTag方法,因此可以直接修改addtag方法)