在HTML中的特定表格单元格中显示消息对话框

时间:2014-01-13 14:42:20

标签: javascript html xml xslt

我使用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循环来创建表吗?

1 个答案:

答案 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'。