首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用AMP HTML,是否可以从单击的元素中获取ID或其他属性,附加它们并为锚标记创建URL?

使用AMP HTML,是否可以从单击的元素中获取ID或其他属性,附加它们并为锚标记创建URL?
EN

Stack Overflow用户
提问于 2019-05-22 00:54:06
回答 1查看 259关注 0票数 0

我有一套检查输入。每一个都包含一个唯一的ID。在复选框中(单击),我想获取此ID并创建一个类型为'/some/path/?myids= checkOne,checkTwo (其中checkOne和checkTwo是已单击的两个不同检查输入的ID)的字符串。

我知道我可以使用状态管理-但我的问题是:我如何限制为多少个复选框创建自定义字符串?例如,我希望限制为5个逗号分隔的ID。由于AMP逻辑是有限的,我不确定如何用它做复杂的逻辑。

以下是步骤:

当用户点击一个复选框时,

  1. show set of checkboxes.
  2. user可以点击这些复选框中的任何一个,
  3. 标签href=...需要通过附加子字符串?myids=checkOne.
  4. if用户单击另一个复选框来更新,然后需要将href标记更新为以下内容:?myids=checkOne、checkTwo等等,直到最多单击了5个复选框。

这有可能吗?谢谢

关于如何近似复杂的逻辑,文档不是很清楚,在搜索中也找不到太多。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-22 06:15:42

一种选择是使用amp-selector,然后在使用.slice()进行绑定时限制选定项的数量

代码语言:javascript
复制
<amp-state id="selected">
  <script type="application/json">[]</script>
</amp-state>

<amp-selector layout="container" multiple on="select:AMP.setState({selected: event.selectedOptions})">
  <div option="1">First</div>
  <div option="2">Second</div>
  <div option="3">Third</div>
</amp-selector>

<div hidden [hidden]="selected.length < 3">You can only select two options.</div>
<a href="/?ids=" [href]="'/?ids=' + selected.slice(0, 2)">Click me</a>

这会将选定if的数量限制为两个,如果用户选择了所有三个if,则会显示一条警告。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56243069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档