Javascript 如何为每个复选框分配唯一的id?
我正在检查复选框是否已选中。然而,我面临的问题是,我使用了一个循环(xsl:for each)根据XML自动生成复选框。因为我是自动生成它们的,所以我不能为每个复选框设置不同的ID,这会阻止我更新特定复选框的属性以指示它已选中。另外,每当我选中一个复选框(无论是第一个还是最后一个),第一个复选框都会被更新。有人能给我提个建议吗?或者至少把我带到正确的方向?提前谢谢 以下是我的XSLT代码:Javascript 如何为每个复选框分配唯一的id?,javascript,xml,xslt,checkbox,Javascript,Xml,Xslt,Checkbox,我正在检查复选框是否已选中。然而,我面临的问题是,我使用了一个循环(xsl:for each)根据XML自动生成复选框。因为我是自动生成它们的,所以我不能为每个复选框设置不同的ID,这会阻止我更新特定复选框的属性以指示它已选中。另外,每当我选中一个复选框(无论是第一个还是最后一个),第一个复选框都会被更新。有人能给我提个建议吗?或者至少把我带到正确的方向?提前谢谢 以下是我的XSLT代码: <xsl:if test="$type='MultiList'"> &
<xsl:if test="$type='MultiList'">
<xsl:for-each select="./options/item">
<xsl:element name="input">
<xsl:attribute name="type">checkbox</xsl:attribute>
<xsl:attribute name="id">hey</xsl:attribute>
<xsl:attribute name="onchange">hii()</xsl:attribute>
<xsl:attribute name="score">
<xsl:value-of select="@score"/>
</xsl:attribute>
<xsl:attribute name="value">
<xsl:value-of select="item"/>
</xsl:attribute>
</xsl:element>
<label>
<xsl:value-of select="."/>
</label>
</xsl:for-each>
</xsl:if>
复选框
嘿
hii()
下面是javascript:
<script>
function hii(){
var a = document.getElementById('hey');
a.setAttribute("score","1");
}
</script>
函数hii(){
var a=document.getElementById('hey');
a、 setAttribute(“分数”、“1”);
}
您不需要每个复选框都有id
更改函数定义以接受参数:
function hii(checkbox) {
checkbox.setAttribute("score", (checkbox.checked ? 1 : 0));
}
然后将此传递给hii()
:
哇,直到现在才知道你能做到!可能是因为我刚开始自学这门语言,这就是为什么!谢谢!呃,无线按钮呢?我试着在radiobutton上复制这个方法,但是现在这个值仍然是1,即使它没有被选中。你是怎么解决的?我不太清楚你到底在说什么。。。也许这值得一个单独的问题:)
<xsl:attribute name="onchange">hii(this)</xsl:attribute>