而不是使用預先填充的多選框使用jQueryUI Autocomplete來過濾列表服務器端並只返回匹配到客戶端(類似於標籤選擇在StackOverflow上工作的方式)。
這裏有http://jqueryui.com/autocomplete/#multiple-remote
選擇多個值,則可以保存選擇的結果,你會處理多選同樣的方式的一個很好的例子。
要實現一種混合的方法,其中的第一個字母取從服務器方面的,然後再把從這些結果的過濾器,你可以使用下面的(請注意,這是完全未經測試):
一個全局變量添加到握住你的結果
var results_cache = [];
在autocomplete
source: function(request, response) {
// get the first letter of your search term
var letter = request.term.substring(0,1);
// check to see if we already have results for this letter
if (!results_cache[letter]){
// no results, fetch via AJAX
$.getJSON("search.php", { term: request.term },
function(data){
// cache results
results_cache[letter] = data;
// filter results (in case we have more than just 1 character in the term)
response($.ui.autocomplete.filter(data, request.term));
}
);
} else {
// we already have data for this letter, just filter the results from the cache
response($.ui.autocomplete.filter(results_cache[letter], request.term));
}
},
search: function() {
// make sure we have at least 1 character for the term
if (!this.value) return;
var term = this.value;
},
使用混合來源我認爲張貼一些(HTML,JavaScript的/ jQuery的)代碼與您的情況一起幫助我們排除故障。 – JoeFletch