ISML中的选项值

时间:2015-02-28 23:37:35

标签: html isml

我有一个下拉列表(从对象填充的值),从中选择的值将继续到下一页。但是,如果选择了该值,则该对象的另一个属性应该转到下一页。

我目前的代码是:

<select name="ElementName" class="dropdown"
                            id="ElementsDropDownList">
                            <isloop iterator="ELEMENTS">
                                <option value="#ELEMENTS:ElementName#"><isprint
                                    value="#ELEMENTS:ElementLabel#">
                                </option>
                            </isloop>
                        </select>

我想要类似的东西:

<select name="ElementName" class="dropdown"
                            id="ElementsDropDownList">
                            <isloop iterator="ELEMENTS">
                                <option value="#ELEMENTS:ElementName#"><isprint
                                    value="#ELEMENTS:ElementLabel#">
                                </option>

<input type="Hidden" name="extraField" id="extraFieldUUID" value="<isprint
                                    value="#ELEMENTS:ElementValue#">">
                            </isloop>
                        </select>

此处循环内的输入字段无效。

1 个答案:

答案 0 :(得分:0)

input元素中内的select元素不能存在。它必须是分开的:

<select name="ElementName" class="dropdown" id="ElementsDropDownList">
  <isloop iterator="ELEMENTS">
    <option value="#ELEMENTS:ElementName#">
      <isprint value="#ELEMENTS:ElementLabel#">
    </option>
  </isloop>
</select>
<input type="Hidden" name="extraField" id="extraFieldUUID" value="<isprint value="#ELEMENTS:ElementValue#">">

然而,显然这在你的情况下不会起作用,因为这不在循环中。您需要另一个循环,这意味着每个 ElementValue值都将包含在表单中。那是......不好。

听起来你正在尝试实现的是select 两个值。它并没有真正做到这一点,几乎就是设计。我现在可以想到两个选择:

  1. 如上所示,在input元素之外添加隐藏的select,但不要为其设置值。在JavaScript中包含可能值的列表(作为某种哈希表,很可能是使用ElementName作为键)。然后将事件处理程序附加到select元素的change事件,该事件根据新选择的值设置隐藏的input值。
  2. ,将select中的两个值都包含在分隔的字符串中,然后将其解析为接收页面上的单独值。也许是这样的:

      

  3. (我完全猜测语法,因为我对你正在使用的模板工具一无所知。)然后接收页面上的代码会收到一些分隔的字符串,某些东西像:

    "SomeElement|123"
    

    然后,该代码需要将该字符串解析为其两个组件值。