【问题标题】:How do i know on which row was clicked in jquery我如何知道在 jquery 中单击了哪一行
【发布时间】:2011-04-07 02:46:46
【问题描述】:

我有一个表格,其中包含来自服务器端脚本 (PHP) 的动态行 并且还使用 Zend Framework 。 所以每一行都会有带有id的超链接 SOmevalue(动态) 现在每一行都将通过以下代码将上下文菜单(Jquery Plugin)附加到每一行。

    $("#myTable td:first-child").contextMenu("myMenu1",{
      bindings: {
            'hdr': function(t) {
                alert($("#Test0").attr("data-value1"));
                alert($("#Test0").attr("data-value2"));

             }
      },
      menuStyle: {
            border: '1px solid #000'
       }
      });

所以我的问题是我如何知道单击了上下文菜单的哪一行以及 假设如果我点击第二行我想得到那个 的值 “test1”或“test2”或“test3”或“test4”的值
动态地。我不应该在

上写“test1”或test2儿子

【问题讨论】:

    标签: jquery jquery-plugins jquery-selectors


    【解决方案1】:

    请提供生成的 html 标记。 这些方面的东西应该可以工作:

    $("#myTable td:first-child").contextMenu("myMenu1", {
        bindings: {
            'hdr': function(t) {
                alert($("this").closest("tr").find("a").attr("href"));
            }
        },
        menuStyle: {
            border: '1px solid #000'
        }
    });
    

    【讨论】:

      【解决方案2】:

      对于大多数 jQuery 事件处理程序,我的猜测是 this 变量将是被点击的元素。无论如何,如果您至少可以获取被点击的元素,那么剩下的应该很容易。

      查看 API 文档中的 closest()方法:http://api.jquery.com/closest/

      我只是在这里猜测,但您可以执行类似
      var value = $(this).closest("a.someClass").attr("data-value1"); 之类的操作,其中“someClass”是可选的,但如果同一行中可能有其他人,这将有助于确保您获得正确的锚标记。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-26
        • 2021-05-17
        • 2017-06-04
        • 1970-01-01
        相关资源
        最近更新 更多