关于PHP和mootools的问题

时间:2009-08-03 19:42:51

标签: php mootools selection

我的问题是如何将用户名拉入确认弹出窗口...我是否必须更改我的php生成用户列表的方式,还是需要一些mootools编码来选择父级然后用户名...如果是这样我怎么能实现呢?

我的PHP代码使用codeigniter生成以下类似的东西,基本上列出了用户名和删除用户的链接。

<div class='item'> 
<a href="http://localhost/nstrust/index.php/admin/users/delete/9" class="delete">Delete</a> <a href="http://localhost/nstrust/index.php/admin/users/view/9" class="view">Jamalia</a>
</div> 
<div class='item'> 
<a href="http://localhost/nstrust/index.php/admin/users/delete/13" class="delete">Delete</a> <a href="http://localhost/nstrust/index.php/admin/users/view/13" class="view">Timothy</a>
</div> 

我有以下mootools代码弹出并确认用户是否确实要删除用户

 window.addEvent('domready', function()
 {
    $$('a.delete').addEvent('click', function(event)
    {
        if (!confirm("Are you sure you want to remove this user?"))
        {
            event.stop();
        }
    });
 });

3 个答案:

答案 0 :(得分:3)

以下内容适用于您的标记:

$$('a.delete').addEvent('click', function(event) {
  var username = $(event.target).getNext().get('text'); //The username is in the next tag.
  if (!confirm("Are you sure you want to remove " + username + "?")) {
    event.stop();
  }
});

由于下一个链接包含用户名,因此您可以简单地遍历DOM并获取文本值。

答案 1 :(得分:2)

假设您的HTML始终遵循上面给出的标记,您的confirm()电话可能是这样的:

var username = $$(event.target).getNext().text; confirm("Are you sure that you want to delete " + username + "?");

这取决于“删除”链接之后的下一个元素将是包含要删除的用户名的元素。

答案 2 :(得分:1)

很棒的答案。

我个人不喜欢过于依赖我的html结构来处理这类事情,因此我倾向于将所有数据存储在一个对象中,或者存储在html元素上(在较少的情况下)。

第一个比我现在解释的更深入一点!

所以要做后者你可以把html吐出来:

<a href="..." class="delete" rel="Jamalia">

然后在你的mootools中使用

var username = this.get('rel');

然后,您可以在将来对HTML进行任何操作。 Rel很好,因为它仍然有效。