Как я узнаю, по какой строке щелкнули в jquery - PullRequest
0 голосов
/ 02 сентября 2010

У меня есть таблица, которая содержит строки, которые являются динамическими из сценариев на стороне сервера (PHP), а также с использованием Zend Framework.Таким образом, каждая строка будет иметь гиперссылку с идентификатором SOmevalue (Dynamic), теперь каждая строка будет иметь контекстное меню (плагин Jquery), добавляемое к каждой строке с помощью приведенного ниже кода.

    $("#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 son на

Ответы [ 2 ]

2 голосов
/ 02 сентября 2010

Как и в большинстве обработчиков событий jQuery, я предполагаю, что переменная this будет элементом, по которому щелкнули.В любом случае, если вы хотя бы сможете получить элемент, по которому щелкнули, все остальное должно быть легко.

Проверьте метод closest() в документации API: http://api.jquery.com/closest/

I'mпросто угадайте здесь, но вы могли бы сделать что-то вроде
var value = $(this).closest("a.someClass").attr("data-value1");, где «someClass» не является обязательным, но поможет убедиться, что вы получили правильный якорный тег, если в этой строке потенциально есть другие.

1 голос
/ 02 сентября 2010

Пожалуйста, предоставьте HTML-разметку, которая будет сгенерирована. Что-то в этом роде должно работать:

$("#myTable td:first-child").contextMenu("myMenu1", {
    bindings: {
        'hdr': function(t) {
            alert($("this").closest("tr").find("a").attr("href"));
        }
    },
    menuStyle: {
        border: '1px solid #000'
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...