我在以下位置找到的 jquery tag-it 插件有问题:http: //aehlke.github.io/tag-it/
我想使用 AJAX 获取我的数据,并且只传递 id,同时保留标签字段中的标签以显示。
这在除 IE9 之外的所有主要浏览器(chrome、FF、safari)中都能完美运行(没有尝试过更高版本,因为我需要支持 IE9)。
这是我的代码:
$("#myTags").tagit({
placeholderText: window.inviteTxt,
fieldName: "tag[]",
//minLength: 2,
autocomplete: {
delay: 0,
minLength: 2,
source: function( request, response ) {
$.ajax({
url: "/service/search.php",
dataType: "json",
data: {
cmd: "getTags",
txt: request.term
},
success: function( data ) {
response( $.map( data , function( item ) {
return {
label: item.label,
value: item.uid
}
}));
}
});
},
select : function(event,ui) {
window.itemId = ui.item.value;
console.log(window.itemId);
$("#myTags").tagit("createTag", ui.item.label);
return false;
},
focus: function(event, ui) {
window.itemId = ui.item.value;
$(this).val(ui.item.label);
return false;
},
},
allowSpaces:true,
beforeTagAdded: function(event, ui) {
// do something special
//if(!contains(window.data,ui.tagLabel)) return false;
},
afterTagAdded: function(event, ui) {
console.log(window.itemId);
if (window.itemId) {
$(ui.tag).find('input').attr('name', "tag[" + window.itemId+ "]");
window.itemId = null;
}
}
});
在所有其他浏览器中,该值在标签数组中作为键传递,但在 IE9 中,该值仅为 0。
我的代码中有明显的错误,还是更深层次的错误?
提前致谢。