0

我的问题是如何将用户名拉到确认弹出窗口中...我是否必须更改我的 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();
        }
    });
 });
4

3 回答 3

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 并获取文本值。

于 2009-08-03T19:55:55.920 回答
2

假设您的 HTML 将始终遵循上面给出的标记,您的confirm()调用可能类似于:

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

这依赖于这样一个事实,即“删除”链接之后的下一个元素将是包含要删除的用户名的元素。

于 2009-08-03T19:53:16.550 回答
1

很好的答案。

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

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

因此,要执行后者,您可以将 html 吐出:

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

然后在你的 mootools 中使用

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

然后你可以在未来对你的 HTML 做任何你想做的事情。Rel 很好,因为它仍然有效。

于 2009-08-08T18:47:39.647 回答