Мой контроллер создает список ссылок типа this
@foreach (var item in Model.MenuItems)
{
- @Ajax.ActionLink(item.Caption,
item.ActionName,
item.ControllerName,
new AjaxOptions
{
UpdateTargetId = "pageBody",
OnBegin = "BeginUpdatePage",
OnComplete = "EndUpdatePage",
OnFailure = "FailUpdatePage"
})
}
У меня есть какой-то javascript типа this
function BeginUpdatePage() {
$("#MainMenu li").removeClass('selected');
$(this).parent().addClass('selected');
$("#pageBody").fadeTo('slow', 0.5);
}
function EndUpdatePage() {
$("#pageBody").fadeTo('slow', 1);
}
function FailUpdatePage() {
alert('There has been an error loading this page please try again.');
}
в строке 1 и 3 функции BeginUpdatePage выполняет отлично, но строка 2 "$(this).parent().addClass('selected');" видимо ничего не делает... (Я объявил этот класс в своей css).
Я посмотрел на Jquery docs (Jquery.ajax()), где сказано, что "this" - это элемент, который был кликнул. Я также установил галочку в "jquery.unobtrusive-ajax.js", которая была в моём проекте по умолчанию. Этот файл также передаёт "this" при выполнении моей функции.
"result = getFunction(element.getAttribute("data-ajax-begin"), ["xhr"]).apply(this,arguments);"
Что я здесь делаю не так... Я видел другие примеры , которые использовали эту технику, но у меня не получалось весь день!
Как я могу добраться до элемента, который был нажат, внутри моего Начала, завершить функции.