0

有一个小代码适用于 appache tomcat 和 chiba-3.0.0b2

<?xml version="1.0" encoding="UTF-8"?>
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"
    xmlns:xforms="http://www.w3.org/2002/xforms"
    xmlns:events="http://www.w3.org/2001/xml-events">
<xhtml:head>
    <xforms:model>

有实例在哪里获取动态列表

        <xforms:instance id="xs">
            <xs>
                <x kd="1" name="one"></x>
                <x kd="2" name="two"></x>
                <x kd="3" name="three"></x>
                <!-- ... -->
            </xs>
        </xforms:instance>
    </xforms:model>
</xhtml:head>
<xhtml:body>

有一个开关盒结构

<xforms:switch>

列表案例

<xforms:case id="list">
    <xhtml:ul>
        <xforms:itemset nodeset="instance('xs')/x">
            <xhtml:li>
                <xforms:trigger>
                    <xforms:toggle events:event="DOMActivate" case="onerec" />
                    <xforms:value ref="@kd" />
                    <xforms:label ref="@name" />
                </xforms:trigger>
            </xhtml:li>
        </xforms:itemset>
    </xhtml:ul>
</xforms:case>

一个记录箱

<xforms:case id="onerec">

如何在公式 [@kd=2] 中获取最后提交的按钮值而不是“2”(即,而不是 [@kd=2] 我喜欢 @kd='clicked trigger value')???

    <xforms:itemset nodeset="instance('xs')/x[@kd=2]">
        There are name "<xforms:label ref="@name" />" and id "<xforms:value ref="@kd" />"
    </xforms:itemset>

有一个返回按钮

    <xforms:trigger>

打开列表案例

                <xforms:toggle events:event="DOMActivate" case="list" />
                <xforms:label>Back</xforms:label>
            </xforms:trigger>
        </xforms:case>
    </xforms:switch>
</xhtml:body>
</xhtml:html>

谢谢

4

1 回答 1

1

您可以有一个实例来存储实际单击的触发器的索引,如下所示

<xforms:instance id="navigation">
          <data>
            <actual>1</actual>
          </data>
</xforms:instance>

然后在单击触发器时使用操作设置此索引set-value

 <xforms:trigger>
    <xf:action ev:event="DOMActivate">                   
        <xforms:toggle case="onerec" />
        <xf:setvalue ref="instance('navigation')/actual" value="@kd"/>
    </xforms:action>

    <xforms:value ref="@kd" />
    <xforms:label ref="@name" />
 </xforms:trigger>

然后,要知道活动案例,请使用instance('navigation')/actual

于 2013-09-13T16:43:50.873 回答