2011-02-10 5 views
0
var CollectionForAutoComplete = new Array(); 
function AutoCompleteTextBox() { 

    var data = CollectionForAutoComplete; 
    //var ac = $("#setcommonelement_ElementName").autocomplete(data); 
    //ac.disable(); 
    // ac.setOptions({ noCache: true }); 

    $("#setcommonelement_ElementName").autocomplete(data, { 
     minChars: 0, 
     width: 262, 
     matchContains: "word", 
     scrollHeight: 220,  
     cacheLength: 0 

    }); 
} 

function generateStringForAutoComplete(CommonElementCollectionlist) { 
    if (CommonElementCollectionlist.length > 0) { 
     CollectionForAutoComplete.length = 0; 
     for (i = 0; i < CommonElementCollectionlist.length; i++) { 
      CollectionForAutoComplete.push(CommonElementCollectionlist[i].ElementName); 
     } 
    } 
} 

런타임에 나는 컬렉션을로드하고 컬렉션을 jquery 자동 완성으로 푸시합니다. 그러나 캐시는 비어 있어서는 안됩니다. 내가 캐시 지우기 ...........Jquery 자동 완성 캐시를 제거하십시오.

답변

0

이 시도하는 방법을 말해주십시오

$("#setcommonelement_ElementName").result(function() 
{ 
    $("#setcommonelement_ElementName").flushCache(); 
}); 
0

설정 캐시 길이 1 :

$"#your_selector").autocomplete('/url/',{ 
    ..., 
    cacheLength: 1 
}); 
0

간단한 해결 방법 :

$("#element").unautocomplete(); 
$("#element").autocomplete(newData); 
+1

'$ ("element #"). unautocomplete(). autocomplete (newData)'역시 효과가 없을까요? – kay

1

이 시도 :

$('#elementoautocomplete').bind("change mouseover click keyup", function() { 
    $("#elementoautocomplete").flushCache(); 
}); 
$('#elementoautocomplete').autocomplete('archive.php', { }); 
// write this out 
,536,