gpt4 book ai didi

javascript - 传递 extJs 网格值来存储 PHP 脚本

转载 作者:行者123 更新时间:2023-11-30 15:45:47 25 4
gpt4 key购买 nike

我目前有一个简单的 extJS 网格,它从服务器提取数据并将其呈现给查看器。我想获取所选行的值,然后将其传递给另一个 PHP 脚本进行处理,以便在另一个网格中显示结果。

var roleInformationStore = Ext.create('Ext.data.Store', {
autoLoad: true,
autoSync: true,
model: 'RoleInformation',
proxy: {
type: 'ajax',
url: 'data.php',
reader: {
type: 'array',
},
writer: {
type: 'json'
}
}
});

var roleInformationGrid = Ext.create('Ext.grid.Panel', {
store: roleInformationStore,
width: '100%',
height: 200,
title: 'Roles',
columns: [
{
text: 'Name',
flex: 1,
width: 100,
sortable: false,
hideable: false,
dataIndex: 'role'
}
],
listeners: {
cellclick: function(view, td, cellIndex, record, tr, rowIndex, e, eOpts) {
roleInformationStore.proxy.extraParams = record.get('role');
//Ext.Msg.alert('Selected Record', 'Name: ' + record.get('role'));
}
}
});

使用当前网格中的监听器,我能够获取值并使用警报方法显示它。关于如何实现这一点有什么建议吗?

谢谢

最佳答案

为此,extraParams 必须是键值字符串对的对象,因为 URI 必须类似于 data.php?key1=value1&key2=value2.

在风格方面,Sencha 建议尽可能使用 getter 和 setter。

一起,你得到:

var store = Ext.getStore("roleInformationStore");
store.getProxy().setExtraParam("myRoleParamKey",record.get('role'));
store.load();

在 PHP 中,您将获取参数然后使用

$role = $_GET['myRoleParamKey'];

您当然可以用 myRoleParamKey 替换您想要的任何字母数字文字,但请确保您在服务器端和客户端使用相同的 key 。 ;-)

文档:setExtraParam

关于javascript - 传递 extJs 网格值来存储 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40095467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com