2012-05-11 4 views
0

Я хочу передать функцию в качестве параметра, если элемент был нажат. Но в функции, которую я передаю, я хочу установить информацию об атрибутах из щелкнутого элемента.Как передать значение функции, которую я использую в качестве параметра?

Каков наилучший способ передать значение атрибута внутренней функции?

My JavaScript выглядит следующим образом:

$('.edit-link').livequery(function(){ 
    $('.edit-link').click(function(){ 
     WMT.openOverlay($('#edit'),{ 
      relativeTo: $('.search'), 
      width: $('.search'), 
      close: $('#cancel_edit'), 
      fillFields: function(){ 
       return $.getJSON("ajax/edit.php?id=" + $(clickedElement).data('id')); 
      } 
     }); 
    }); 
}); 

я хочу, чтобы отправить данные атрибута "ID" в формате JSON.

+0

просто использовать $ (это), и вы получите элемент. так что вы можете сделать $ (this) .attr ('id') – CyrillC

ответ

1

Вам необходимо использовать this. Он указал на щелкнул элемент:

$(this).data('id') 

Если это не работает, попробуйте это:

var clickedElement = this; 
WMT.openOverlay($('#edit'),{ 
// ... rest of your code. 
+0

Будет ли он работать в обратном вызове 'WMT.openOverlay()'? – VisioN

+0

Должен, но на всякий случай я обновил свой ответ. – antyrat

Смежные вопросы