Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.03.2013, 23:08
Аспирант
Отправить личное сообщение для HoenDHime Посмотреть профиль Найти все сообщения от HoenDHime
 
Регистрация: 23.02.2013
Сообщений: 30

Ajax запрос и подстветка выбранного
Здравствуйте. я работаю с asp .net mvc , у меня есть вот этот код
$(document).ready(function () {
          var str = location.href.toLowerCase();

          $('.messaging span a').each(function () {
              if (str.indexOf(this.href.toLowerCase()) > -1) {
                  $("td.highlightMess").removeClass("highlightMess");
                  $(this).parent().addClass("highlightMess");
              }
          });

      })

( который отображает выбранный в данный момент элемент) и он отлично работает. Но я решил сделать ajax
<a href="@Url.Action("IndexMessaging", "InstMessaging", new { UserName = f.PersonalData1.UserName })" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#PMessage">
                                <img src="@Url.Content("~/Content/AvaImage/" + f.PersonalData1.UserName + "/AvaImage" + f.PersonalData1.AvaImage)" alt="AvaImage" />
                            </a>

(все что вы должны узнать из приведенного html то что картинка по нажатию на которую идет ajax запрос)
и после этого уже не отображает выбранный элемент. Из очевидного - js не работает из за ajax -собственно вопрос как подредактировать js.
P.S. Если кого то заинтересует - выложу всю страницу, если будет не понятно.

Только заметил url же не изменяется, и там стоит первый выбранный элемент, надо как то изменять url. Завтра буду исправлять, так что думаю и ваша помощь может и не потребоваться.

Последний раз редактировалось HoenDHime, 18.03.2013 в 23:12.
Ответить с цитированием
  #2 (permalink)  
Старый 20.03.2013, 15:31
Аспирант
Отправить личное сообщение для HoenDHime Посмотреть профиль Найти все сообщения от HoenDHime
 
Регистрация: 23.02.2013
Сообщений: 30

Как не прискорбно, но при попытках сделать самому возникли некоторые траблы - при использовании обычного тега а
<a data-ajax="true" data-ajax-begin="beginUpdate" data-ajax-mode="replace" data-ajax-update="#PMessage" href="@Url.Action("IndexMessaging", "InstMessaging", new { UserName = f.PersonalData.UserName })" rel="@f.PersonalData.UserName" id="mess">  
                                <img src="@Url.Content("~/Content/AvaImage/" + f.PersonalData.UserName + "/AvaImage" + f.PersonalData.AvaImage)" alt="AvaImage" />
                            </a>

срабатывает этот код
<script type="text/javascript">
    $("a").click(function() {
        alert($(this).attr("rel"));
         });
</script>
, но в URL вставляется записись только со второго разу,
и использование ASP .NET MVC штуки
@Ajax.ActionLink(f.PersonalData.FullName, "IndexMessaging", new { UserName = f.PersonalData.UserName }, 
                            new AjaxOptions { UpdateTargetId = "PMessage", OnBegin = "beginUpdate" }, 
                            new { rel = f.PersonalData.UserName })

срабатывает на это
<script type="text/javascript">
    $(document).ready(function () {
        jQuery.listen("click", "a", function () {
            alert($(this).attr("rel"));
        });
    });
</script>

и
event.srcElement.getAttribute("rel");


и выложу весь код который при якс запросе помещает данные в юрл
var _currentName = null;

    Sys.Application.add_init(nameInit);

    function nameInit() {
        Sys.Application.set_enableHistory(true);
        Sys.Application.add_navigate(navigate);
    }

    function navigate(sender, e) {
        var UserName = e.get_state().UserName;

        if (UserName != _currentName) {
            _currentName = UserName;
            $('#PMessage').load("?UserName=" + UserName);
        }
    }

    function beginUpdate() {
        //$("a").click(function () {
        //    _currentName = $(this).attr("rel");
        //});("rel");
        // в переменную _currentName записывает содержимое аттрибута рел для юрл
        Sys.Application.addHistoryPoint({ "UserName": _currentName });
    }


Возможно само написание якс запроса неверно, просто выполнил якс запрос на ASP .NET MVC глянул html сгенерированый код и вставил в тег а.
Ответить с цитированием
  #3 (permalink)  
Старый 22.03.2013, 18:37
Аспирант
Отправить личное сообщение для HoenDHime Посмотреть профиль Найти все сообщения от HoenDHime
 
Регистрация: 23.02.2013
Сообщений: 30

печаль
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX запрос в Internet Explorer срабатывает через раз nikolayseo jQuery 5 13.11.2012 00:13
Как можно кешировать Ajax запрос ? saturn AJAX и COMET 5 27.10.2012 14:48
Составить Ajax запрос и json LASSO jQuery 1 16.02.2012 03:36
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07
ajax запрос с подгружемным js HelpeR AJAX и COMET 1 27.10.2008 12:44