我试图创建一个应用程序,它可以显示XML中的选项列表。 然后,当单击一个选项加载来自不同XML的数据以显示他们选择的选项[j]。在Flash AS3中加载XML
我在这里得到的代码只能在通过循环后进入最后一个变量,因此无论我点击哪个选项,它都会从最后一个选项进入数据。 它只删除原始按钮的最后一个孩子。
有没有人有任何想法,我怎么能得到它去正确的页面?
import flash.events.Event;
import flash.text.TextField;
var xmlLoader:URLLoader = new URLLoader();
var xmlReq:URLRequest = new URLRequest("http://praxis2.cit.ie/~patrickhallihan/DynamicContent/autumn/classxml.php");
xmlLoader.load(xmlReq);
xmlLoader.addEventListener(Event.COMPLETE, getClasses);
function getClasses(e:Event):void
{
var xmlobject:XML = new XML(e.target.data);
var classlist:XMLList = xmlobject.classgroup;
var classArray:Array = new Array();
for (var i:int = 0; i<classlist.length(); i++)
{
var classname:String = xmlobject.classgroup.classname[i];
var classtxt:TextField = new TextField();
classtxt.width = 70;
classtxt.height = 20;
classtxt.border = true;
classtxt.borderColor = 0x000000;
classtxt.background = true;
classtxt.backgroundColor = 0x888888;
classtxt.textColor = 0xFFFFFF;
classtxt.text = "" + classname;
addChild (classtxt);
classArray[i] = classtxt;
}
for (var j:int = 0; j<classlist.length(); j++)
{
classArray[j].y = 40*j;
classArray[j].x = 125;
classArray[j].addEventListener(MouseEvent.CLICK, gotoSchedule);
function gotoSchedule(event:MouseEvent):void
{
removeChild (classtxt);
var xmlLoader1:URLLoader = new URLLoader();
var xmlReq1:URLRequest = new URLRequest("http://praxis2.cit.ie/~patrickhallihan/DynamicContent/autumn/getschedule.php?id="+ j);
xmlLoader1.load(xmlReq1);
xmlLoader1.addEventListener(Event.COMPLETE, getExams);
function getExams(e:Event):void
{
trace (xmlLoader1.data);
var examtxt:TextField = new TextField();
examtxt.width = 260;
examtxt.height = 400;
examtxt.y = 30;
examtxt.x = 30;
examtxt.border = true;
examtxt.borderColor = 0x000000;
examtxt.background = true;
examtxt.backgroundColor = 0x888888;
examtxt.textColor = 0xFFFFFF;
examtxt.text = (xmlLoader1.data);
addChild (examtxt);
}
}
}
}
在第一眼看起来像它应该工作,你确认您的http://praxis2.cit.ie/~patrickhallihan/DynamicContent/autumn/getschedule.php?id=2返回正确的东西?此外,不需要两个独立的循环 – BadFeelingAboutThis
我已经摆脱了第二个循环,但它仍然在做同样的事情。是的多数民众赞成在正确的地址为XML它得到它,并显示它,但只有一个最后的索引,所以无论我点击它带回数据,最后一个应该 –
对不起,并不意味着给你的印象第二个循环是一个问题,只是一个通用的编码技巧,这是不必要的。 – BadFeelingAboutThis