我使用HTML,XML和XLST创建了一个表。我正在使用for-each循环创建一个表,该循环插入xml文件中的数据。
表格填满数据后,我希望点击的每个单元格都显示对话框。
XML文件代码:
<person>
<title>Abraham</title>
<slota>Johns</slota>
<slotb>22</slotb>
<slotc>male</slotc>
<slotd>ave road</slotd>
<slote>0384847</slote>
<slotf>shdh@hot.com</slotf>
<slotg>UK</slotg>
</person>
以上是需要将所有数据插入表中的代码。
XSLT代码:
<table border="1" cellspacing="0">
<tr>
<th bgcolor="DarkGray" >Employee</th>
<th id="cell1" bgcolor="DarkGray">name</th>
<th id="cell2" bgcolor="DarkGray">surname</th>
<th id="cell3" bgcolor="DarkGray">age</th>
<th id="cell4" bgcolor="DarkGray">gender</th>
<th id="cell5" bgcolor="DarkGray">address</th>
<th id="cell6" bgcolor="DarkGray">phone</th>
<th id="cell7" bgcolor="DarkGray">country</th>
</tr>
<xsl:for-each select="persons">
<tr>
<td><xsl:value-of select="title" /></td>
<td><xsl:value-of select="slota" /></td>
<td><xsl:value-of select="slotb" /></td>
<td><xsl:value-of select="slotc" /></td>
<td><xsl:value-of select="slotd" /></td>
td><xsl:value-of select="slote" /></td>
<td><xsl:value-of select="slotf" /></td>
<td><xsl:value-of select="slotg" /></td>
</tr>
</xsl:for-each>
</table>
上面是创建表并使用for-each
循环插入数据的XSL文件的代码。
我创建了一个使用JavaScript显示对话框消息框的函数,下面是代码:
<script>
function myFunction()
{
alert ("I am an alert box");
}
</script>
当我将这个函数放在一个表单元格中时,我会触发它,例如:
<td onclick="myFunction()"><xsl:value-of select="slota" /></td>.
该函数适用于该行中的每个表格单元格。
有没有办法可以将此功能应用于一个特定的行?
或者,是因为我使用for-each
循环来创建表吗?
答案 0 :(得分:0)
考虑使用Jquery来做这类事情。 Jquery是一个javascript框架。
您可以为特定表格中的表格单元格创建click event。一个例子:
$('table tr td').click(function()
{
alert('I am an alert box');
});
值得注意的是,您可以将逻辑应用于此事件的选择器,以仅选择具有特定类或属性值的单元格。 'table tr td'是选择器。如果你只想选择类别为'foo'的单元格,你会写:'table tr td.foo'。