extjs4:从PHP+MySql将模型数据填充到组合框中
extjs 4 : filling model data into combobox from PHP + MySql
Ext.define('User', {
extend: 'Ext.data.Model',
fields: [
{name: 'DeviceID', type: 'string'},
{name: 'VehicleNo', type: 'string'}
]
});
var store1 = new Ext.data.JsonStore({
// store configs
model: 'User',
storeId: 'myStore',
proxy: {
type: 'ajax',
url: 'combobox.php',
id:'1', //show only the group ID is 1,this id are flexible,not necessary is 1
fields: ['DeviceID','VehicleNo']
}
});
这是工具栏上的代码
xtype: 'combobox',
labelWidth: 50,
labelAlign: 'right',
fieldLabel: 'Vehicle',
name: 'state1',
width :180,
store: store1,
valueField: 'DeviceID',
displayField: 'VehicleNo',
typeAhead: true,
queryMode: 'local',
emptyText: 'Select a Vehicle...'
combobox.php
<?php
mysql_connect("localhost", "root", "") or die("Could not connect");
mysql_select_db("db_gps") or die("Could not select database");
$parent_id = $_GET['id'];
$query = "SELECT DeviceID as id, VehicleNo as text FROM Tbl_device WHERE GroupID='".$parent_id."' ORDER BY text ASC";
$rs = mysql_query($query);
$arr = array();
while($obj = mysql_fetch_object($rs)) {
$arr[] = $obj;
}
echo json_encode($arr);
?>
Mysql数据库
delimiter $$
CREATE TABLE `tbl_device` (
`MainID` int(11) NOT NULL AUTO_INCREMENT,
`DeviceID` varchar(11) NOT NULL,
`VehicleNo` varchar(45) NOT NULL,
`GroupID` varchar(45) NOT NULL,
`AutoPic` bit(1) NOT NULL DEFAULT b'0',
PRIMARY KEY (`MainID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1$$
问题
1( 我不能显示组合框数据?我的代码有问题吗?请帮忙,谢谢。在我的代码上,我正在尝试传递id的参数,你可以从我的代码中看到,我正在将id:1传递给combobox.php,这个传递值是灵活的,不是必须的,只有12( 这个代码数据模型是正确的吗?带有DeviceID和VehicleNo字段
我认为您只需要显式调用Store的加载函数,就可以通过配置的代理将数据加载到Store中:
store1.load();
除此之外,您可能需要检查查询返回到php
块的数据。还要使用firebug或类似的东西检查返回给客户端的json
。
希望这能有所帮助。
编辑:
或者,正如bmoeskau所说,在商店配置中包含autoLoad: true
相关文章:
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- 类型错误:url未定义extjs 4正在填充组合框
- Jqgrid动态组合框填充不起作用
- 使用用户输入填充组合框
- DHTMLX 动态填充组合
- 在 AngularJS 中填充组合框
- JavaScript 用 ajax 填充组合框,但在 C# 中,所选值为 null
- 如何根据另一个组合框的选定项目从数据库填充组合框中的项目
- 在按钮单击时用 PHP 数据库中的数据填充组合框,并从数据库中加载选定的值
- Ext 3.4-如何使用本地数组动态填充组合框
- Flex-使用arrayCollection和javascript中的数据填充组合框
- 基于另一个组合框选择的自动填充组合框
- 用年份填充组合框
- 用新数据填充组合框
- 在填充组合框列表时显示加载图像
- 从JSON(通过字符串)填充组合框
- Angularjs - 动态填充组合框(Array())
- 在js中用另一个组合值填充组合框值
- 如何绑定数组到arraystore,以便在extjs中填充组合
- 根据在另一个组合框中选择的内容,使用地图中的值动态填充组合框