Setting default value on ComboBox on HTML using JavaScript ,XSLT and XML -
i trying language dropdown in html calls javascript uses xmlt reads xml have default value of english language when page loads, can help?\
please note runs on net explorer 9 , above
the required html is:
<body onload="start();"> <h3 id="selectalanguage"></h3> <h3 id="languagecombohere"></h3> </body> my javascript
function start() { loadlanguagecombo(); loadcustomercombo(); getlanguage(); } function nvl(value1,value2) { if (value1 == null) homecoming value2; homecoming value1; } function loadlanguagecombo() { var xmldoc=new activexobject("microsoft.xmldom"); xmldoc.async=false; xmldoc.load("language.xml"); var xsldoc=new activexobject("microsoft.xmldom"); xsldoc.async=false; xsldoc.load("languagecombo.xsl"); alert (xmldoc.transformnod(exsldoc)); languagecombohere.innerhtml=xmldoc.transformnode(xsldoc); } function getlanguage(language) { alert("here"); alert(language); var xmldoc=new activexobject("msxml2.domdocument.3.0"); var xsldoc=new activexobject("msxml2.freethreadeddomdocument"); var xslt = new activexobject("msxml2.xsltemplate"); var xslproc; var defaultlanguage = "english"; language = nvl(language, defaultlanguage); alert(language); xmldoc.load("language.xml") xsldoc.load("getlanguage.xsl"); xslt.stylesheet = xsldoc; xslproc = xslt.createprocessor(); xslproc.input = xmldoc; xslproc.addparameter("elementname", "selectalanguage"); xslproc.addparameter("languagetype", language); xslproc.transform(); selectalanguage.innerhtml = xslproc.output; } my xslt is:
<?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0" > <xsl:output method="html" /> <xsl:template match="/"> <select id="selectlanguage" value="italian" onchange="getlanguage(selectlanguage.value);"> <xsl:for-each select="//language"> <xsl:sort select="englishtype"/> <xsl:sort select="englishtype" /> <xsl:variable name="language" select="englishtype" /> <xsl:element name="option"> <xsl:attribute name="value"> <xsl:value-of select="$language" /> </xsl:attribute> <xsl:value-of select="englishtype" /> </xsl:element> </xsl:for-each> </select> </xsl:template> </xsl:stylesheet> my xml is:
<language> <englishtype>ukrainian</englishtype> </language> <language> <englishtype>italian</englishtype> </language> <language> <englishtype>english</englishtype> </language> <language> <englishtype>arabic</englishtype> </language>
your xml document missing root element.
the next xsl job.
<?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0" > <xsl:output method="html" /> <xsl:template match="/"> <select> <xsl:for-each select="//language"> <xsl:choose> <xsl:when test="englishtype='english'"> <option selected='true'><xsl:value-of select="englishtype"/></option> </xsl:when> <xsl:otherwise> <option><xsl:value-of select="englishtype"/></option> </xsl:otherwise> </xsl:choose> </xsl:for-each> </select> </xsl:template> </xsl:stylesheet> javascript xml xslt combobox default
No comments:
Post a Comment