Как в 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, время: 05:40. |