本文目录一览:
- Extjs3.4 获取iframe中连接的子页面中的store 急急急!!!!
- extjs 获取store部分值
- ExtJS4 获得store的数据
- extjs 怎么获得store
- extjs中,对store复制的一些问题
Extjs3.4 获取iframe中连接的子页面中的store 急急急!!!!
首先假设父子页面的html代码如下: PageParent.html
<head>
<title>父页面</title>
</head>
<body>
<div id="divParent">我们在下面嵌入一个IFrame指向PageSon.html:</div>
<iframe id="IF_ID_NEED" src="PageSon.html" width="300" height="200" scrolling="no" frameborder="1"></iframe>
<div>
<input type="button" value="Input" onclick="alert(document.getElementById('IF_ID_NEED').contentWindow.divSon.value);">
<input type="button" value="Script" onclick="document.getElementById('IF_ID_NEED').contentWindow.sayHello('Script!');">
</div>
</body>
PageSon.html
<head>
<title>子页面</title>
<script type="text/javascript">
function sayHello(name) {
alert('Hello ' + name);
}
</script>
</head>
<body>
这是子页面:
<input id="divSon" value="子页面Input元素!">
<input type="button" value="Access DIV" onclick="alert(window.parent.document.getElementById('divParent').innerHTML);">
</body>
简单而言,就是:
- 从父页面访问子页面的DOM或者JavaScript:
alert(document.getElementById('IF_ID_NEED').contentWindow.divSon.value);
document.getElementById('IF_ID_NEED').contentWindow.sayHello('Script!');
- 从子页面访问父页面DOM的情况:
alert(window.parent.document.getElementById('divParent').innerHTML);
运行此示例可能会碰到 same-origin policy
即所谓同源禁止跨域问题,解决:
- Firefox目前版本支持对
file:
协议实现同源访问。 - 谷歌浏览器截至版本
28.0.1500.95 m
还不允许,不过可以加参数启动chrome.exe --disable-web-security
。 - 当然示例如果运行在
localhost
或者127.0.0.1
的网页服务器模式下自然就没有跨域一说了。 那么你的问题就显而易见了:
store: window.parent.store // 该store怎样从a.jsp页面中获取
extjs 获取store部分值
代码如下:
// ArrayStore
var keyNameStore = new Ext.data.ArrayStore({
fields: ['text', 'value'],
data : [
['商品编号','Meta_productsNo'],
['商品名称','Meta_productName']
]
});
// 通过value值获取keyNameStore里面的text
function getFilterFieldLable(value){
var rt = "";
var rowIndex = keyNameStore.getCount();
for(var i=0; i < rowIndex; i++){
var record = keyNameStore.getAt(i);
var fields = Ext.util.JSON.encode(record.data);
var fieldObj = Ext.util.JSON.decode(fields);
if(value == fieldObj.value){
rt = fieldObj.text;
break;
}
}
return rt;
}
ExtJS4 获得store的数据
要获取store里边的数据的方法是在太多啦:
var myStore = Ext.create('MyExtJS.store.UserStore');
// idx是该记录在store中的index,从0开始
var 变量 = myStore.getAt(idx).get('字段名');
而且,在ext的组件中还有很多方法,他已经把store的record当作变量给你传过来了,用起来相当方便,例如grid的监听事件:
listeners: {
cellclick: function(g, t, i, r) {
// 这里的r就是表格被选中行的记录
}
}
store还有很多方法可以取出其中的数据,具体内容,查阅extjs的官方api,搜索store即可! 纯手敲,希望对lz有帮助~
extjs 怎么获得store
var ry_store = new Ext.data.JsonStore({
// store configs
autoDestroy: true,
root: 'results',
proxy: new Ext.data.HttpProxy({
method: 'GET',
prettyUrls: false,
url: '#' // 参见Ext.Ajax.request的配置参数
}),
fields: ['loopback_ip', 'device_name', 'device_model', 'city_name']
});
store是自己定义的。就像这样写一下,然后 ry_store
就是store了。
extjs中,对store复制的一些问题
// 定义store
var storeB;
var storeA = Ext.create('Ext.data.Store', {
fields: [{
name: 'firstName'
}, {
name: 'lastName'
}],
data: [{
firstName: 'Ed',
lastName: 'Spencer'
}, {
firstName: 'Tommy',
lastName: 'Maintz'
}, {
firstName: 'Aaron',
lastName: 'Conran'
}, {
firstName: 'Jamie',
lastName: 'Avins'
}],
listeners: {
// 在执行load的时候复制他的数据
load: function(store, records) {
storeB = Ext.create('Ext.data.TreeStore', {
fields: [{
name: 'firstName',
type: 'string'
}, {
name: 'lastName',
type: 'string'
}],
data: records
});
}
}
});