如果這是基本的,我很抱歉。我是自學成才的,堅持使用JavaScript編程的簡單功能。任何人都可以告訴我,我應該尋找什麼來尋找正確的答案,或者幫助我解決這個問題?如何從函數中獲取UI變量
我有一個UI窗口內的功能,以快速填充面板。但我似乎無法將輸入到每個面板的值輸入到用戶界面的外部,並進入主要的「DoSomething」功能。
變量(dlg.tryThis)不會更新?爲什麼?我需要做什麼?
// making a simple UI
function UI_Builder(doSomething)
{
var dlg = new Window("dialog", "options");
dlg.mainGroup = dlg.add("group", undefined,"main");
//Created a simple function so I can re-create panels and values very easy
function makePanel (panelName, val) {
var newPanel = eval("dlg.mainGroup." + panelName);
newPanel = dlg.mainGroup.add('panel', undefined, panelName);
newPanel.Start = newPanel.add("edittext", [0,0,30,20], val);
dlg.Start = newPanel.Start.text
newPanel.Start.onChanging = function()
{
dlg.Start = newPanel.Start.text
alert("Changed " + panelName + " to: " + dlg.Start) // THIS alerts correctly. It know what value I changed and where I changed it.
return dlg.Start;
}
return dlg.Start;
}
// calling the function to create panels.
dlg.tryThis = makePanel("tryThis", 4);
dlg.anotherOne = makePanel("anotherOne", 3);
dlg.again = makePanel("again", 2);
dlg.mainGroup.btnCancel = dlg.mainGroup.add("button",[0,0,130,70], "doSomething");
dlg.mainGroup.btnCancel.onClick = function()
{
doSomething();
}
return dlg
}
// all the UI builder is doing is showing the UI
var dlg = UI_Builder(doSomething);
dlg.show();
function doSomething()
{
dlg.close();
alert(dlg.tryThis) // this is not the NEW value? How do I get it to be the NEW value updated by the ".onChanging" function?
}
'eval'是** **邪 - 'dlg.mainGroup [panelName]'會給你一樣的 – Andreas 2012-07-23 18:52:26
你使用的是什麼UI庫? – davidbuzatto 2012-07-23 18:54:13