本文目錄一覽:
- 1、Extjs3.4 獲取iframe中連接的子頁面中的store 急急急!!!!
- 2、extjs 獲取store部分值
- 3、ExtJS4 獲得store的數據
- 4、extjs 怎麼獲得store
- 5、extjs中,對store複製的一些問題
Extjs3.4 獲取iframe中連接的子頁面中的store 急急急!!!!
首先假設父子頁面的html代碼如下:
PageParent.html
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
/html
PageSon.html
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
/html
簡單而言,就是:
從父頁面訪問子頁面的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;irowIndex;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的監聽事件
lisenters: {
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
});
}
}
});
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/247229.html