我有一个php文件,它返回一个像这样的字符串
["item1","item2","item3","item4"]
我需要用ExtJS创建一个组合框。选项必须是4个选项之类的项目。如果php链接是items.php
,我该怎么做呢?为了清楚说明,我需要combobox displayField
和valueField
具有相同的值,例如item1
将是displayField
和valueField
。提前谢谢!
P.S。字符串不是Json格式化的,我猜它是数组存储。
答案 0 :(得分:4)
首先,我认为你必须修改你的php脚本,以便它至少返回字符串[["item1"],["item2"],["item3"],["item4"]]
。否则,您将不得不创建自己的extjs阅读器或覆盖Ext.data.reader.Array.read方法。
其次,您的商店应如下所示:
var store = Ext.create('Ext.data.Store', {
fields: ['item'],
proxy: {
type: 'ajax',
url: '/items.php',
reader: {
type: 'array'
}
}
}
第三,您的组合配置应如下所示:
Ext.create('Ext.form.ComboBox', {
store: store,
displayField: 'item',
valueField: 'item'
});
如果您决定使用原始的PHP脚本,您可以查看how to define your own reader(讨论过json reader,但您可以弄清楚如何在数组读取器中实现该代码)