我试图将onclick事件应用于从xsl中的for-each获得的多个值。
我的代码显示了xml文档中的所有“ ville”(城市)。它还以href形式显示属于每个“ ville”的所有“ lycee”(高中)。
我想要的是当我单击特定的“课堂”时显示属于“课堂”的所有“元素”(学生)的列表。为了做到这一点,我使用了一个onclick事件,该事件与切换可见性的函数绑定在一起。 但是该功能(隐藏/显示)仅适用于第一个“ lycee”。 当我单击另一个lycee时,似乎只影响第一个lycee的学生列表的可见性,而不影响他们自己的列表。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="villeKey" match="eleve" use="ville" />
<xsl:key name="lyceeKey" match="eleve" use="lycee" />
<xsl:template match="/">
<html>
<style>
.hidden {
display:none;
}
</style>
<head>
<script type="text/javascript" >
function toggle_visibility(id){
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
</script>
</head>
<body>
<h2>Villes</h2>
<xsl:for-each select="eleves/eleve[count(. | key('villeKey',ville)[1]) = 1]">
<xsl:sort select="ville" />
<b style="color:Tomato;"><xsl:value-of select="ville" /> </b>,<br /><br />
<xsl:for-each select="key('villeKey', ville)[count(. | key('lyceeKey',lycee)[1]) = 1]">
<xsl:sort select="lycee" />
<a href="#" onclick="toggle_visibility('foo');"> <xsl:value-of select="lycee" /> </a> <br />
<div id="foo" class='hidden' >
<xsl:for-each select="key('lyceeKey', lycee)">
<xsl:sort select="specialite"/>
<p> <xsl:value-of select="nom"/>   <xsl:value-of select="prenom"/> </p>
</xsl:for-each>
</div>
</xsl:for-each><br /><br />
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
```xsl
答案 0 :(得分:0)
使用不同的ID代替以前使用的echo "set \$ip_addr_priv \"{my_ip_address}\"" | sudo perl -n -e 's/(\$ip_addr_priv) +"\{([a-zA-Z0-9_]+)\}"/\1 "$ENV{ip_addr}"/g; print;'
set $ip_addr_priv ""
,因此更改
echo "set \$ip_addr_priv \"{my_ip_address}\"" | sudo -E perl -n -e 's/(\$ip_addr_priv) +"\{([a-zA-Z0-9_]+)\}"/\1 "$ENV{ip_addr}"/g; print;'
set $ip_addr_priv "127.0.1.1"
到
foo