0

我在以下位置找到的 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。

我的代码中有明显的错误,还是更深层次的错误?

提前致谢。

4

1 回答 1

0

我发现了这个问题。

显然我使用了 javascript 命令“console.log()”,它由于某种原因导致 IE 崩溃。

谢谢你。

于 2013-09-27T09:06:39.480 回答