我正在使用Sencha Touch製作網絡移動應用程序。我對EXTJS的工作方式並不十分熟悉。我建立了我的名單如下:加載後在Sencha Touch中更新列表項目
sink.Structure = [{
text: 'Name'
},
{
text: ' <?php echo $name; ?>'
},
{
text: 'Friend'
},
{
text: ' <?php echo $friend; ?>'
},
{
text: 'Shop'
},
{
text: ' <?php echo $shop; ?>'
}];
Ext.regModel('Demo', {
fields: [
{name: 'text', type: 'string'},
{name: 'source', type: 'string'},
{name: 'preventHide', type: 'boolean'},
{name: 'animation'},
{name: 'card'}
]
});
sink.StructureStore = new Ext.data.TreeStore({
model: 'Demo',
root: {
items: sink.Structure
},
proxy: {
type: 'ajax',
reader: {
type: 'tree',
root: 'items'
}
}
});
所以這個完美呈現列表,正是我想要的,但我怎麼改變這種回聲$名稱的行的價值;
在初始加載時,我有一個PHP變量的值,但如果用戶改變它,我希望它改變這個值。我需要重寫整個結構嗎?
在jquery中我可以給元素一個ID然後修改它的.html內容。但我注意到,這種結構的方式我的列表項沒有任何標識選擇器,我可以用它來引用它。任何建議都會有所幫助,謝謝!
更新:所以我在這方面取得了一些進展,而不是在列表結構中回顯PHP變量,我打印了一個名爲name的Javascript變量,它最初設置爲PHP變量。我也把sink.Structure設置在一個函數中,它接受這些值,然後應該重置它們,但它不會。我已經嘗試使函數包括sink.StructureStore,因爲它似乎是什麼渲染列表(也許?這是一個猜測),也只是sink.Structure數組列表,但似乎沒有影響已設置的列表, 請幫忙!
無關的一面注意:您應該使用''<?php echo addslashes($ shop); ?>''等,以避免字符串包含單引號時發生破損。 – Tomalak 2010-11-03 20:14:53
好點謝謝 – 2010-11-03 20:31:19