我有一个下拉列表(从对象中填充的值),从中选择的值将转到下一页。但是,如果选择了该值,则该对象的另一个属性应继续到下一页。
我目前的代码是:
<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>这里,循环中的输入字段不起作用。
发布于 2015-02-28 23:47:42
您不能在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。它并没有真正做到这一点,很大程度上是出于设计。我现在可以想到两种选择:
input元素之外包含一个隐藏的select,但不要为它设置值。在JavaScript中包含可能值的列表(作为某种类型的哈希表,很可能使用ElementName作为键)。然后将事件处理程序附加到select元素的change事件,该事件根据新选定的值设置隐藏的input值。select中,并将它们解析回接收页上的单独值。也许是这样:(我完全是在猜测语法,因为我对您使用的模板工具一无所知。)然后,接收页面上的代码将接收一些分隔字符串,如下所示:
"SomeElement|123"然后,该代码将需要将该字符串解析为其两个组件值。
https://stackoverflow.com/questions/28788265
复制相似问题