IE8中的JQuery自动完成问题

IE8中的JQuery自动完成问题,jquery,Jquery,在我的jsp中,我动态添加了一些字段,这些字段根据其id附加了自动完成事件(jquery)。我在这里面临的问题是在一个字段中键入,在所有动态添加的字段中触发自动完成。我已经检查了所有的ID,它们是唯一的。这只发生在IE而不是FF 有人能帮我解决这个问题吗。函数addSPNAC() function addSPNAC() { var counter = $('#spnRowCounter').val(); if($('#spnId' + counter).elementExists

在我的jsp中,我动态添加了一些字段,这些字段根据其id附加了自动完成事件(jquery)。我在这里面临的问题是在一个字段中键入,在所有动态添加的字段中触发自动完成。我已经检查了所有的ID,它们是唯一的。这只发生在IE而不是FF

有人能帮我解决这个问题吗。

函数addSPNAC()
function addSPNAC()
{
    var counter = $('#spnRowCounter').val();
    if($('#spnId' + counter).elementExists())
    {
        $('#spnId' + counter).autocomplete("security-ac.action?onlySpn=true", {
            formatItem : function(row, i, max) {
            return "<table class='ac-table' border='0' cellpadding='1' cellspacing='0' style='width:100%;table-layout:fixed;'><colgroup><col width='20%' /><col width='50%' /><col width='30%' /></colgroup>" + 
            "<tr><td>" + row[1] + "</td><td>" + row[0] + "</td><td class='aln-rt'>" + row[3] + "</td></tr></table>";
            },
            formatResult : function (row) {
                return row[1];
            },
            scroll : true,
            multiple : false,
            minChars : 3,
            width : 383,
            highlight: function(value, term) {
                if ($(value).find("td").size() === 0) {
                    return value;
                }
                return $.Autocompleter.defaults.highlight(value, term);
            },
            resultsClass : "ac_results search_ac"
        });
        alert('added SPN AC for ' + '#spnId' + counter );
    }
}
{ var counter=$('#spnRowCounter').val(); if($('#spnId'+计数器).elementExists()) { $('#spnId'+计数器)。自动完成(“security-ac.action?onlySpn=true”{ formatItem:函数(行、i、最大值){ 返回“”+ “+行[1]+”+行[0]+“+行[3]+”; }, formatResult:函数(行){ 返回行[1]; }, 卷轴:没错, 多重:假, 明查斯:3, 宽度:383, 突出显示:功能(值、术语){ if($(value).find(“td”).size()==0){ 返回值; } 返回$.Autocompleter.defaults.highlight(值、术语); }, 结果类:“ac\U结果搜索\U ac” }); 警报(“为“+”#spnId“+计数器添加了SPN AC); } }
每当我添加一个新字段时,就会调用上面的方法。下面是动态生成行的代码

function insertRow(eleToClone)
{
    var counter = $('#' + eleToClone + 'Counter').val();
    counter++;
    $('#' + eleToClone + 'Counter').val(counter);
    var newFields = document.getElementById(eleToClone).cloneNode(true);
    newFields.id = $('#' + eleToClone).id + '' + counter;
    var newField = newFields.childNodes;
    for (var i = 0; i < newField.length; i++) {
        updateIds(newField[i], counter);
    }
    var insertHere = document.getElementById(eleToClone);
    insertHere.parentNode.insertBefore(newFields,insertHere);
    newFields.style.display = 'block';
    return;
}

function updateId(element, counter)
{
    if(element.childNodes && element.childNodes.length > 0)
    {
        for (var j = 0; j < element.childNodes.length; j++) {
            updateId(element.childNodes[j], counter)
        }
    }    
    var theId   = element.id;
    if(theId) {
        element.id = theId + '' + counter;
        element.name = theId + '' + counter;
    }

}
函数插入行(eleToClone)
{
var counter=$('#'+eleToClone+'counter').val();
计数器++;
$('#'+eleToClone+'Counter').val(计数器);
var newFields=document.getElementById(eleToClone.cloneNode)(true);
newFields.id=$('#'+eleToClone).id+''+counter;
var newField=newFields.childNodes;
对于(变量i=0;i0)
{
对于(var j=0;j