Значение параметра в 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 ответ
Вы не можете иметь 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"
Затем этот код должен был бы проанализировать эту строку в ее двух компонентных значениях.