【问题标题】:Saxon-ce getting combobox option valueSaxon-ce 获得组合框选项值
【发布时间】:2013-01-14 12:36:00
【问题描述】:

我正在使用 Saxon-CE 和 XSLT 2.0 来生成和操作页面上的控件。生成一个组合框没有问题,但是当我更改组合框时,我似乎无法从组合框的选项条目中获取值。这是说明性的 XSLT 代码:

<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:ixsl="http://saxonica.com/ns/interactiveXSLT"
extension-element-prefixes="ixsl">

<xsl:template match="/">

<xsl:result-document href="#comboBox">
  <select id="myBox">
     <option value="1">One</option>
     <option value="2">two</option>
  </select>
</xsl:result-document>

</xsl:template>

<xsl:template match="select[@id='myBox'] mode=ixsl:onchange">
  <xsl:variable name="myVal" select="option/@value'/>
   .... code that affects what is displayed ...
</xsl:template>

</xsl:stylesheet>

我想要做的是当用户更改组合框的值时,他们选择的选项的值存储在变量 $myVal 中。然后我使用该变量来影响主页上的转换。现在我所拥有的根本不起作用(目前它获取所有选项的所有值,而不是用户选择的那个)。

想法?

【问题讨论】:

    标签: xslt-2.0 saxon


    【解决方案1】:

    试试

    <xsl:variable name="control" select="."/>
    <xsl:variable name="value" select="ixsl:get($control, 'value')"/>
    

    带有命名空间声明xmlns:ixsl="http://saxonica.com/ns/interactiveXSLT"

    【讨论】:

    • 有多个值的&lt;select&gt; 怎么样?我正在尝试像for $i in (0 to xs:integer(ixsl:get(id('series', ixsl:page()), 'selectedOptions.length')) - 1) return ixsl:get(ixsl:call(ixsl:get(id('series', ixsl:page()), 'selectedOptions'), 'item', $i), 'value') 这样的东西,但到目前为止还没有运气:/
    • @MartynasJusevičius,请提出一个包含必要细节的新问题。那仍然是 Saxon-CE 还是您已移至 Saxon-JS?
    • 仍然是 Saxon-CE... 我在 Firefox 中得到了这个工作(Chrome 似乎仍然返回单个值):&lt;xsl:for-each select="0 to xs:integer(ixsl:get(id('series', ixsl:page()), 'selectedOptions.length')) - 1"&gt; &lt;xsl:variable name="js-statement" as="element()"&gt; &lt;root statement="document.getElementById('series').selectedOptions.item({.}).value"/&gt; &lt;/xsl:variable&gt; &lt;xsl:sequence select="ixsl:eval(string($js-statement/@statement))"/&gt; &lt;/xsl:for-each&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 2014-02-06
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    相关资源
    最近更新 更多