2011-02-10 108 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 autocomplet。但缓存不是空的。请告诉我如何清除缓存...........删除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 2012-07-13 13:20:49

1

试试这个:

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