Я использую Extjs 5.1 для заполнения комбинированного списка данными, возвращаемыми из вызова AJAX.
Вызов AJAX возвращает имена продуктов, но выпадающий список заполняет данные в одну строку разделенными запятыми (необходимо заполнить элементы в отдельной строке по одному элементу в каждой строке).
Логика Combo Box
{
xtype: 'combo',
queryMode: 'remote',
itemId: 'prodListCombo',
name: 'prodNumber',
emptyText: '-- Select Product --',
width: '290px',
height: '32px',
autoSelect: false,
enableKeyEvents: true,
selectOnFocus: false,
minChars: 1,
padding: '0 0 0 5',
listConfig: {
maxHeight: 110,
emptyText: 'No Products found.'
},
triggerAction: 'all',
displayField: 'prodNumber',
store: productStore,
editable: false,
typeAhead: false,
forceSelection: true,
dataIndex: 'prodNumber',
lastQuery: '',
listeners: {
click: function(grid, rowIndex, colIndex) {
},
beforequery: function(queryPlan, eOpts) {
var prodInstore = "";
var prodInstoreArrray = [];
//MMACMF-74
Prod_Num = Ext.ComponentQuery.query('#prodListCombo')[0];
Ext.Ajax.request({
url: MaintenanceAdvisor.util.AppUrls.appurls.getCustomerProds,
method: 'GET',
params: {
"customerName": 'CUST A'
},
success: function(response) {
debugger;
var response2 = Ext.decode(response.responseText);
var datafiles = response2.data; ** -- > datafiles has the data of PROD A and PROD B. **
if (datafiles.length === 0) {
} else {
store.removeAll();
store.add(datafiles);
Ext.ComponentQuery.query("#prodListCombo")[0].setValue(store.getData('prodNumber').items);
for (var iProd = 0; iProd < datafiles.length; iProd++) {
var ProdId = store.getAt(iProd).data.prodNumber;
prodInstore += ProdId;
prodInstore += ',';
}
prodInstore = prodInstore.substr(0, prodInstore.length - 1);
prodInstoreArrray = prodInstore.split(",");
//Ext.ComponentQuery.query("#prodListCombo")[0].setValue(prodInstoreArrray);
}
},
failure: function(response) {
alert("failed");
}
});
} //beforequery
} //listeners
},
Ответ JSON
datafiles: Array(2)
0:
id: "CustomerCenter-31"
customerName: null
customerType: "OPERATOR"
**productNumber: "PROD A"**
__proto__: Object
1:
id: "CustomerCenter-32"
customerName: null
customerType: "OPERATOR"
**productNumber: "PROD B"**
__proto__: Object
length: 2
Java-код возвращает карту для запроса вызова AJAX.
Но данные в выпадающем списке указаны через запятую.
Пожалуйста, сообщите мне о любых изменениях в скрипте, чтобы заполнить его в каждой строке.
Спасибо
Рамм