我有一个输入标记字段,我想获取所选择的tages的ID
所以我尝试了 http://jsfiddle.net/u8zj5/19/但我的问题我想得到的ID不是标签
或值传递到id =“show”但我失败了.
所以我尝试了 http://jsfiddle.net/u8zj5/19/但我的问题我想得到的ID不是标签
或值传递到id =“show”但我失败了.
<input type="text" id="field1" name="field1" value=""/>
<span id="show">show ID here</span>
jQuery(document).ready(function(){
var availableTags = [{"id":"144","label":"Allicelabel","value":"Allice value"}];
jQuery("input#field1").each(function(){
var target = jQuery(this);
var currenttags = target.val();
target.hide()
.after("<ul class=\"tags\"><li>"+currenttags+"</li></ul>");
var instance = target.next();
instance.tagit({
tagSource:availableTags,tagsChanged:function () {
var tags = instance.tagit('tags');
var tagString = [];
for (var i in tags){
tagString.push(tags[i].value);
}
$("#show").html(tagString.join(','));
},sortable:true,triggerKeys: ['enter','comma','tab']
});
});
});
这里使用jQuery Tagit (Demo Page)的任何人都可以帮我解决这个问题
解决方法
我有同样的问题,我做了什么修改tag-it.js.
当您调用函数select时,您需要通过函数_addTag发送ID
当您调用函数select时,您需要通过函数_addTag发送ID
self._addTag(ui.item.label,ui.item.value,ui.item.id);
然后你只需要获取id:
_addTag: function(label,value,id) {
...
this._addSelect(label,id);
...
}
并在此处将ID附加到隐藏的选择上
_addSelect: function(label,id) {
var opt = $('<option>').attr({
'selected':'selected','value':id
}).text(label);
this.select.append(opt);
使用此功能,您可以拥有一个自动完成列表标签,一个要在标签中显示的值,以及一个隐藏选择的ID.