如果数据库中的值为 1,则检查 XSL 复选框显示

Posted

技术标签:

【中文标题】如果数据库中的值为 1,则检查 XSL 复选框显示【英文标题】:XSL checkbox display checked if value is 1 from database 【发布时间】:2014-03-10 04:05:11 【问题描述】:

如何在 xsl 中读取复选框值? 我有一个从数据库中读取的值,根据该值,该复选框将被选中或取消选中。 我有这个片段,但即使 database_column 值为 1,复选框也不会检查。

<xsl:template.....>
     <form....>
        <input type="checkbox" id="functional_test" name="DATABASE_COLUMN">
           <xsl:if test="//DATABASE_COLUMN='1'">
                <xsl:attribute name="checked">checked</xsl:attribute> 
           </xsl:if>

       </input>
     </form>
</xsl:template>

编辑: 我也有检索 textarea 值的问题。这个 textarea 值实际上来自一个选择选项。但是当从数据库中检索到这个值时,我不知道为什么这个值没有出现。 我的代码如下所示:

 <label class="control-label Mandatory" for="txtRecommendedAction"> Recommended Action*
    <button type="button" class="btn btn-default" href="#modalRecommended" data-toggle="modal"> Retrieve  </button>
 </label>
  <textarea class="form-control" id="txtRecommendedAction" name="recommended_action" rows="6" value="//RECOMMENDED_ACTION"/>

它只是没有在文本区域中显示正确的值。知道我错过了什么吗?

【问题讨论】:

XSLT 将 source 树转换为 result 树。您的源 XML 在哪里?您在上面编写的 XPath 表达式将查找名为 的标记,该标记可能包含“1”。您似乎正在尝试从结果树中读取数据,但这是行不通的。 源代码树是否来自 如果您无法直接读取输入的 XML 文档,请将以下代码添加到您的样式表并观察结果:&lt;p&gt;&lt;xsl:value-of select="//DATABASE_COLUMN"/&gt;&lt;/p&gt;。然后你就会知道里面到底有什么——或者你的 xPath 表达式是否真的在获取任何东西。 另外 - 甚至最好 - 在输入上运行 身份转换模板。这将按原样复制输入 - 您可以将结果用作编写样式表并对其进行测试的参考。 【参考方案1】:

我知道回答自己的问题很奇怪,但在研究了以下代码后确实有所帮助:

<xsl:element name="input">
          <xsl:attribute name="type">radio</xsl:attribute> <!-- or checkbox -->
          <xsl:attribute name="name">needModeration</xsl:attribute>
          <xsl:attribute name="value">true</xsl:attribute>
          <xsl:if test="contains(needModeration,'true')"> <!-- just change this variable-->
              <xsl:attribute name="checked">
              </xsl:attribute>
          </xsl:if>
</xsl:element>

在我的 html 中,它确实根据值进行检查或取消检查。 :D

我从这个论坛得到了答案: http://forums.asp.net/t/1036574.aspx

【讨论】:

回答自己的问题并不奇怪。如果您已经设法自己找出答案,那么提交(并接受)您自己的答案是正确的做法。

以上是关于如果数据库中的值为 1,则检查 XSL 复选框显示的主要内容,如果未能解决你的问题,请参考以下文章

如果文本框的值为 0,则 jQuery Checkbox 为真,但如果文本框为空白,则为假 [重复]

如果数值数据类型列 Pandas 数据框中的值为 str,则打印索引和值

如果 MYSQL 列值为 true,则选中复选框

如何在 DataList 中显示条件复选框

从 React 中的 useEffect 挂钩更改复选框选中状态?

antd+vue3 多选框的值为对象数组