2011-02-10 9 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