2014-01-30 6 views
1

У меня есть элемент управления dijit/form/ComboBox, который имеет JsonStore как хранилище объектов.Добавить условие фильтра Dojo ComboBox

// Prepare the datasource for combobox 
settings.JsonStore = new JsonRestStore({ target: settings.dataUrl }); 
settings.ObjectStore = new ObjectStore({ objectStore: settings.JsonStore }); 

var ComboBox = new ComboBox({ 
    id: settings.id, 
    name: settings.id, 
    value: settings.value, 
    style: { 
     width: settings.width.value + 'px', 
     display: (settings.visible) ? 'visible' : 'none' 
    }, 
    maxHeight: settings.dropHeight.value, 
    store: settings.ObjectStore, 
    searchAttr: settings.comboValue, 
    labelType: "html", 
    labelFunc: function (item, store) { 
     var labelText = '....'; 
     return labelText; 
    }, 
    onChange: function (evt) { 
    } 
} 

При попытке запросить выпадающий после запроса HTTP сделаны:

http://<settings.dataUrl>/?<settings.comboValue>?A* 
http://<settings.dataUrl>/?<settings.comboValue>?AB* 

Я хотел бы знать, могу ли я добавить фильтр на выпадающий список на основе значения другого элемента управления , Как, например:

http://<settings.dataUrl>/?CustomerNo=0001&<settings.comboValue>?AB* 

Я уже пробовал следующее, я попытался изменить магазин выпадающего списка, когда фильтр изменяется путем изменения URL. Но это не работает. Я попытался сбросить хранилище, снова установив значение хранилища, и это вызывает ошибку.

ответ

1

Я, наконец, могу получить ответ через другой вопрос here.

Combobox.set('query', { 'CustomerNo' : dijit.byId('<Customer control ID>').getValue() }); 

Запрос становится:

http://<settings.dataUrl>/?CustomerNo=0001&<settings.comboValue>?AB* 
+0

Спасибо за себя ответить. – Gordon

Смежные вопросы