Вы можете достичь этого, используя amp-bind
.При выборе опции в первом раскрывающемся списке задайте состояние с желаемым значением.Для демонстрации я создал состояние для сохранения сопоставления относительно того, какое значение должно быть установлено в соответствии с выбором следующим образом:
<amp-state id="mapping">
<script type="application/json">
{
"blue" : "small",
"red" : "medium",
"green" : "big"
}
</script>
</amp-state>
Затем мы должны установить состояние, соответствующее выбору, в раскрывающемся списке следующим образом:
<select name="color" id="color" on="change:AMP.setState({ val : mapping[event.value] })">
Теперь мы должны связать атрибут selected
в каждом option
во втором раскрывающемся списке, чтобы получить значение true, если соответствующее значение установлено на val
следующим образом:
<select name="size" id="size">
<option disabled selected></option>
<option value="small" [selected]=" val == 'small' ">small</option>
<option value="medium" [selected]=" val == 'medium' ">medium</option>
<option value="big" [selected]=" val == 'big' ">big</option>
</select>
ПРИМЕЧАНИЕ. Не забудьте добавить скрипт amp-bind
<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>`