Re: [xsl] XSL checkbox

Subject: Re: [xsl] XSL checkbox
From: "Adrian Popescu" <adrian@xxxxxxxxxxxx>
Date: Tue, 18 May 2004 18:00:43 +0300
10x.......it doesnt't work with Pocket PC Internet Explorer but 10x anyway
----- Original Message ----- 
From: "Joe Fawcett" <joefawcett@xxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Tuesday, May 18, 2004 5:49 PM
Subject: Re: [xsl] XSL checkbox


> ----- Original Message ----- 
> From: "Adrian Popescu" <adrian@xxxxxxxxxxxx>
> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> Sent: Tuesday, May 18, 2004 3:33 PM
> Subject: Re: [xsl] XSL checkbox
> 
> 
> >I am newbie in XSL and I search ALL GOOGLE for an example:((
> >
> > this is my XSL
> >
> > <?xml version="1.0"?>
> > <xsl:stylesheet xmlns:xsl="uri:xsl">
> >  <xsl:template match="/">
> >    <SCRIPT>
> >    function change(title_id)
> >    {
> >      alert(title_id);
> >      var root = detailXSL.documentElement;
> >      var selectedElems =  root.selectNodes("//xsl:for-each");
> >      var ifStatement = selectedElems.item(0);
> >      ifStatement.attributes(0).text =
> >                      "@title_id[.='" + title_id + "']";
> >
> >      document.write(titles.transformNode(detailXSL.documentElement));
> >    }
> >    </SCRIPT>
> >    <H3>Titles</H3>
> >    <TABLE BORDER="1" CELLPADDING="1" CELLSPACING="0">
> >      <TR>
> >        <TD BGCOLOR="#C0C0C0"><B>Title</B></TD>
> >        <TD BGCOLOR="#C0C0C0"><B>Details</B></TD>
> >      </TR>
> >      <xsl:for-each select="titlelist/titles" order-by="@title">
> >        <TR>
> >          <TD VALIGN="top"><xsl:value-of select="@title"/></TD>
> >          <TD VALIGN="top"><INPUT>
> >            <xsl:attribute name="TYPE">checkbox</xsl:attribute>
> >            <xsl:attribute name="VALUE">c1</xsl:attribute>
> >            <xsl:attribute name="ONCLICK">
> >
> >                   <xsl:attribute
> > name="backgroundcolor">yellow</xsl:attribute>
> >
> >               <xsl:apply-templates/>
> >
> >            </xsl:attribute>
> >          </INPUT></TD>
> >        </TR>
> >      </xsl:for-each>
> >    </TABLE>
> >    <XML ID="titles" SRC="titles.xml"></XML>
> >    <XML ID="detailXSL" SRC="details.xsl"></XML>
> >  </xsl:template>
> > </xsl:stylesheet>
> >
> >
> >
> 
> As was said this seems more like an HTML question but you are using 
> xsl:attribute incorrectly.
> The htnl you need is:
> <input type="checkbox" onclick="toggleColour(this);">
> so your xsl should be (I haven't checked any other stuff):
> <INPUT>
>             <xsl:attribute name="TYPE">checkbox</xsl:attribute>
>             <xsl:attribute name="VALUE">c1</xsl:attribute>
>             <xsl:attribute name="ONCLICK">
>            toggleColour(this);
>            </xsl:attribute>
> 
>                <xsl:apply-templates/>
> Then output the following script block somewhere, as you have with your 
> other block:
> 
> <script>
> <![CDATA[
> 
>   function toggleColour(Element)
>  {
>     if (Element.style.backgroundColor == "#ffff00"
>    {
>      Element.style.backgroundColor = "#ffffff";
>    }
>    else
>    {
>      Element.style.backgroundColor = "#ffff00";
>    }
>  }
> ]]>
> </script>
> 
> Now you could put that code into an inline event handler but it would be 
> rather messy :)
> 
> -- 
> 
> Joe 

Current Thread