【问题标题】:PHP/XSLT multiple instances of the same quertystringPHP/XSLT 相同查询字符串的多个实例
【发布时间】:2010-02-04 19:36:22
【问题描述】:

我的后端接受逗号分隔的 id 值“11,12,13”。在前端,我有一个允许多项选择并发布以下内容的检查列表。

someurl.com?id=11&id=12&id=13

如何将 $_GET 用于多个 ID 实例,将其格式化为逗号分隔的字符串?或者,有没有更好的方法来强制清单以我想要的格式提交表单?

现在回到前端,我使用 XSLT 来确定是否检查一个项目以记住它的先前状态。

    <xsl:choose>
    <xsl:when test="$id = *">
        <option selected="selected">
            <xsl:value-of select="*"/>
        </option>
    </xsl:when>
    <xsl:otherwise>
        <option>
            <xsl:value-of select="*"/>
        </option>
    </xsl:otherwise>
</xsl:choose>

当只选择一个选项但有多个选项时,这很好,您将如何处理 url 中该 $id 值的多个实例?

非常感谢任何帮助和解决方案。

【问题讨论】:

    标签: php javascript xml xslt symphony-cms


    【解决方案1】:

    我不太会使用php,但我相信您希望?id[]=11&amp;id[]=12&amp;id[]=13id 参数中获取数组[11,12,13]

    恐怕 xslt 问题的描述太简短,我无法理解。首先,我不明白你为什么要首先在前端设置selected 属性。然后,我建议 DRY:

    <option>
      <xsl:if test='...'>
        <xsl:attribute name='selected' value='"selected"'/>
      </xsl:if>
      <xsl:value-of select='*'/>
    </option>
    

    至于测试本身,当以服务器理解的方式选择多个元素时,您从服务器得到什么?会不会很简单

    <xsl:if test="contains(concat(',', $ids, ','), concat(',', *, ','))">
    

    工作?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-30
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      相关资源
      最近更新 更多