כיצד יוצרים select מתוכן xml?

marlboro

New member
כיצד יוצרים select מתוכן xml?

אני רוצה ליצור תיבת בחירה (אובייקט select בHTML) כשתוכן האופציות בתיבה הוא תוכן של רשומות של xml. ניסיתי עם לולאה של javascript, לא הלך. ניסיתי עם datafile (או איך שלא קוראים לזה), לא הלך. עוד רעיונות?
 
דוגמאות, דוגמאות ../images/Emo26.gif

עיין בדוגמאות הבאות, שהורדתי לך מהרשת - 1. דוגמא מבוססת XSL -
you must use xsl:attribute in the xsl stylesheet <option> <xsl:attribute name="value"> <xsl:value-of select="id"/> </xsl:attribute> <xsl:value-of select="name"/> </option> file: area.xml *************** <?xml version="1.0" encoding="UTF-8"?> <?xml:stylesheet type="text/xsl" href="area.xsl" ?> <!DOCTYPE areas [ <!ATTLIST areas action CDATA #REQUIRED > <!ELEMENT areas (area*)> <!ELEMENT area (id, name)> <!ELEMENT id (#PCDATA)> <!ELEMENT name (#PCDATA)> ]> <areas action="/cgi-bin/mycgi.cgi"> <area> <id>1080</id> <name>Area 1</name> </area> <area> <id>710</id> <name>Area 2</name> </area> </areas> file: area.xsl ************** <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:eek:utput method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" /> <xsl:template match="/"> <html><body> <form> <xsl:attribute name="action"> <xsl:value-of select="/areas/@action"/> </xsl:attribute> <select> <xsl:apply-templates select="/areas/area"/> </select> </form></body></html> </xsl:template> <xsl:template match="area"> <option> <xsl:attribute name="value"> <xsl:value-of select="id"/> </xsl:attribute> <xsl:value-of select="name"/> </option> </xsl:template> </xsl:stylesheet> the xml file parsed with the xsl stylesheet (by e.g. Saxon ) generates the following html code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"> <html> <body> <form action="/cgi-bin/mycgi.cgi"><select> <option value="1080">Area 1</option> <option value="710">Area 2</option> </select> </form> </body> </html>​
2. דוגמא מבוססת Java Script -
<html> <head> <script language=JavaScript> var xmlDoc; function mySetup() { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.load("emp_list.xml"); mySetSelect("mySelect1"); } function mySetSelect(pSelect) { var mySel = document.forms.myForm(pSelect); for(x=0; x <= xmlDoc.documentElement.childNodes.length - 1; x++) { var newOpt = document.createElement("OPTION"); newOpt.text = xmlDoc.getElementsByTagName("NAME").item(x).text; newOpt.value = xmlDoc.getElementsByTagName("TNUM").item(x).text; mySel.add(newOpt); } } function mySetSelect1(pSelect) { var mySel = document.forms.myForm(pSelect); var nodes=xmlDoc.documentElement.childNodes; for(x=0; x <= nodes.length - 1; x++) { var newOpt = document.createElement("OPTION"); newOpt.text = nodes.item(x).text; newOpt.value = nodes.item(x).text; mySel.add(newOpt); } } </script> </head> <body onload="mySetup()"> <form name="myForm"> Name:<select name="mySelect1"> <option>--Select Name-- </select> </form> </body> </html> Sample XML file <?xml version="1.0" encoding="ISO-8859-1" ?> <EMP_LIST> <EMP> <TNUM>t917466</TNUM><NAME>Steve Sinclair</NAME> </EMP> <EMP> <TNUM>t917467</TNUM><NAME>Anne Other</NAME> </EMP> <EMP> <TNUM>t917468</TNUM><NAME>Yeti Nother</NAME> </EMP> </EMP_LIST>​
אני לא יודע מהי רמת הידע שלך ב-XML, אז אל תתבייש לשאול שאלות.
 
למעלה