【发布时间】:2016-08-25 11:35:21
【问题描述】:
首先我想问一下我如何让我的代码能够在单击a href 时为用户提供,然后它将通过隐藏其他循环结果来显示{{media.content}}。
现在,cms 的用户需要创建一个新页面来调用该组件来查看特定页面,并且它涉及一些他们不知道的编码。
{% set medias = __SELF__.medias %}
<div class="post-list">
{% for media in medias %}
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "/about/media-room/media-coverage", true);
xhttp.send();
}
</script>
<div class="post-item">
<h3 class="oc-text-title"><a id="demo" class="link_orange" onclick="loadDoc()">{{ media.title }}</a></h3>
<p class="oc-text-paragraph">{{ media.published_at|date('j F Y') }}</p>
{% if media.introductory %}
<!--<p class="introductory">{{ media.introductory|raw }}</p>-->
{% else %}
<!--<div class="content">{{ media.content|raw }}</div>-->
{% endif %}
</div>
{% else %}
<span class="no-data">{{ noMediasMessage }}</span>
{% endfor %}
</div>
{{ medias.render|raw }}
那么我怎样才能做到这一点,而无需通过单击 a href 创建新页面,然后它将转到其受人尊敬的内容?
见下图
这是所有循环的结果
我想让 a href 像这样查看内容,而无需加载页面。只需隐藏循环并查看其内容
【问题讨论】:
-
如果我理解正确,您不希望 a-link 打开新页面吗?然后试试这个:
<a href="javascript:;" id="demo" class="link_orange" onclick="loadDoc()">{{ media.title }}</a>(注意:href="javascript:;")。如果这不是你要问的,那么我不明白你的意思 =/ -
你可以看看我附在上面的图片。基本上它将加载一个新页面并加载其内容。但问题是我想避免用户创建新页面。因此 a href 将动态调用其 {{ media.content }}
-
您可以携带所有信息并隐藏单击链接时将显示的元素,或使用 ajax 调用加载它们...您还需要链接以避免预定义的行为并且不要t调用文档...我不使用
<a>标签,我在<p>标签上使用CSS模拟它们...
标签: php jquery html twig octobercms