Как в ExtJS4 установить autocomplete для combox?
В 3-й версии autocomplete в ComboBox был задан по умолчанию, а как его задать в 4-й версии?
|
можно так
просто добавить typeAhead:true начните вводить слово Alabama
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>demo</title>
<script type='text/javascript' src='http://docs.sencha.com/ext-js/4-0/extjs/ext-all.js'></script>
<link rel="stylesheet" type="text/css" href="http://docs.sencha.com/ext-js/4-0/extjs/resources/css/ext-all.css">
<script>
Ext.onReady(function() {
var states = Ext.create('Ext.data.Store', {
fields: ['id', 'name'],
data : [
{"id": 1, "name":"Alabama"},
{"id": 2, "name":"Alaska"},
{"id": 3, "name":"Arizona"}
]
});
Ext.create('Ext.form.ComboBox', {
fieldLabel: 'Choose State',
store: states,
queryMode: 'local',
typeAhead:true,
displayField: 'name',
valueField: 'id',
listeners: {
select: function (combo, record) {
alert(record[0].get('id'))
}
},
renderTo: Ext.getBody()
});
});
</script>
</body>
</html>
|
Помогло. Но все равно надо по тригеру клацнуть чтобы сработало. И не фильтрует выпадающий список
Я не использую Ext.onReady(function() {}), данные для ComboBox у меня хранятся в файле json на сервере. А сам он у меня выглядит так
{
xtype: 'combobox',
itemId: 'combo-region',
width: 177,
typeAhead: true,
fieldLabel: '',
emptyText: 'Выберете область',
displayField: 'region',
store: 'Region',
valueField: 'cid'
}
|
Автодобор работает если установить typeAhead: true.
По умолачанию автодобор начинается после введения 4-го символа (по умолчанию 4 если queryMode = 'remote' или 0 если queryMode = 'local'). Поменять это можно в параметре minChars: . Я себе поставил minChars: 1,. Но не могу найти каким свойством можно включить фильтрацию. Т.е. если я начинаю набирать слово на букву "С", чтобы в выпадающем списке содержались слова только на эту букву. Может кто-то сталкивался? Подскажите. |
| Часовой пояс GMT +3, время: 19:40. |