Jquery UI autoComplete設定max
1325 ワード
新版のJquery UIのようで、autoCompleteのoptionsにはmaxが入っていないので、私が知らなかったのかどうか分かりませんが、データ量が大きいと、非常に表示される可能性があります.だからコードを修正して、死んで、optionsに追加しませんでした.
Jquery-ui.jsの6659行のコードで、normalize関数の中にあります.
元は:
次のように変更します.
最大20個まで表示されます.
Jquery-ui.jsの6659行のコードで、normalize関数の中にあります.
元は:
_normalize: function( items ) {
// assume all items have the right format when the first item is complete
if ( items.length && items[0].label && items[0].value ) {
return items;
}
return $.map( items, function( item ) {
if ( typeof item === "string" ) {
return {
label: item,
value: item
};
}
return $.extend({
label: item.label || item.value,
value: item.value || item.label
}, item );
});
},
次のように変更します.
_normalize: function( items ) {
// assume all items have the right format when the first item is complete
if ( items.length && items[0].label && items[0].value ) {
return items;
}
var i=0;
return $.map( items, function( item ) {
if(i >= 20 )
return;
i++;
if ( typeof item === "string" ) {
return {
label: item,
value: item
};
}
return $.extend({
label: item.label || item.value,
value: item.value || item.label
}, item );
});
},
最大20個まで表示されます.