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