0

我有一张有几行和几列的表。用户点击给定的文本和对话框应该打开动态内容。

例如

<tr> 
  <td>
    <strong>item1</strong>
  </td>
</tr>
<tr> 
 <td>
    <strong>item2</strong>
 </td>
</tr>

用户单击 item1 或 item2 并打开一个带有相关文本的 javascript 窗口。

我可以使用prototypejs 和window.js 来做到这一点,这似乎可以工作,但看起来不像干净的javascript。

<td>
  <a href='javascript:openModalDialog("<?php echo item1Id?>")'><strong>item1</strong></a>
</td>

<td>
 <a href='javascript:openModalDialog("<?php echo item2Id?>")'><strong>item2</strong></a>
</td>

我想通过事件侦听器使用无障碍 javascript

$$('.myClass').invoke('observe', 'click', function(event){
    openModalDialog("dynamic content")  ;   
});


<span class="myClass"><span style="display:none"><?php echo item1Id?></span>item1</span>

<span class="myClass"><span style="display:none"><?php echo item2Id?></span>item2</span>

我不想显示 item1Id,item2Id,当用户点击 item1 或 item2 时,PHP 会将其替换为需要在弹出窗口中显示的动态内容。

我在正确的轨道上吗?

如何在 onclick 中访问 item1Id 或 item2Id 内容并将其传递给 openModalDialog?


我不太确定在另一个跨度内跨度是最好的方法,但我能想到它工作的唯一方法。

我需要的是如何访问处理程序中的动态内容。

例如

页面加载时

<span class="myClass"><span style="display:none"><?php echo item1Id?></span>item1</span>
<span class="myClass"><span style="display:none"><?php echo item2Id?></span>item2</span>

可能会变成类似

<span class="myClass"><span style="display:none">This is dynamic content generated by php </span>item1</span>
<span class="myClass"><span style="display:none">some more different content </span>item2</span>

因此,在用户单击 item1 时的处理程序中,我需要内容“这是由 php 生成的动态内容”,因此我可以将其传递给 openModalDialog 函数。我如何访问内容,这对于每一行都是不同的。

有任何想法吗?

当我做 console.log(this) 我得到

4

1 回答 1

0

对我来说,您似乎走在正确的轨道上。至于如何访问item1Id或者item2Id,可以看这个demo:http: //jsfiddle.net/yg7XX/

我已经很好地评论了它,希望它可能会有所帮助。顺便说一句,我以前从未使用过原型。我的解决方案只是由于使用 jQuery 而产生的猜测,并且猜测成功了!:)

于 2012-06-21T16:29:44.617 回答