ISML中的选项值

  • 本文关键字:选项 ISML 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>

这里循环中的输入字段不起作用。

select元素的内部不能有input元素。它必须是独立的:

<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. 如上所示,在select元素外包含一个隐藏的input,但不要为其设置值。在JavaScript中包含可能值的列表(很可能是某种哈希表,使用ElementName作为键)。然后将事件处理程序附加到select元素的change事件,该事件基于新选择的值设置隐藏的input
  2. ,将这两个值作为分隔字符串包含在select中,并将它们解析回接收页面上的单独值。也许类似于:

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

"SomeElement|123"

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

相关内容

  • 没有找到相关文章

最新更新