首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >输出html控件-动态控件名称

输出html控件-动态控件名称
EN

Stack Overflow用户
提问于 2008-12-03 14:00:56
回答 3查看 1.3K关注 0票数 3

我希望使用xslt输出html控件,但我需要能够命名这些控件,以便在表单回发时可以访问它们。

我希望能够将该单选按钮命名为"action_" + _case_id

代码语言:javascript
代码运行次数:0
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="data.xsl"?>
<NewDataSet>
  <Cases>
    <Case>
      <case_id>30</case_id>
    </Case>
  <Cases>
</NewDataSet>

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
     <div class="your_action">
      Your action:<br />
      <input type="radio" name="?" value="No" checked ="true"/> nothing to report<br />
      <input type="radio" name="?" value="Yes" /> memo to follow
    </div>
  </xsl:template>
</xsl:stylesheet>
EN

回答 3

Stack Overflow用户

发布于 2008-12-03 14:12:49

代码语言:javascript
代码运行次数:0
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="data.xsl"?>
<NewDataSet>
  <Cases>
    <Case>
      <case_id>30</case_id>
    </Case>
  <Cases>
</NewDataSet>

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
     <xsl:variable name="actionid">action_<xsl:value-of select="Cases/Case/case_id"/></xsl:variable>
     <div class="your_action">
      Your action:<br />
      <input type="radio" name="{actionid}" value="No" checked ="true"/> nothing to report<br />
      <input type="radio" name="{actionid}" value="Yes" /> memo to follow
    </div>
  </xsl:template>
</xsl:stylesheet>

注:未测试。您可能希望专门为Case节点添加匹配器,而不仅仅是在根节点上进行匹配。

票数 0
EN

Stack Overflow用户

发布于 2008-12-03 15:05:16

在引用变量时,需要在变量前加上$符号:

代码语言:javascript
代码运行次数:0
运行
复制
<input type="radio" name="{$actionid}" value="No" checked ="true"/> nothing to report<br />
票数 0
EN

Stack Overflow用户

发布于 2008-12-03 15:57:40

你的数据集有一个很好的属性,那就是它是一棵树,每个节点都可以通过它在树中的路径来识别。我想说,最好的方法是以一种反映这一点的方式命名与每个XML节点对应的控件:

  1. NewDataSet_Cases_Case1_case_id1_rb.
  2. NewDataSet_Cases_Case1_case_id2_rb.

您只需要一种方法来获取父节点的名称,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
&lt;xsl:variable name="parent1Name"
              select="name(parent::*)" /&gt;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/337183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档