Rails: link_to + remote = true + Jquery + Rails 3 - PullRequest
0 голосов
/ 01 ноября 2011

У меня есть выпадающий список, и каждое из выпадающих значений является ссылками.При нажатии я заполняю div результатами.Перед заполнением элемента div я показываю вращающийся счетчик, чтобы пользователь почувствовал, что результат будет обновлен.Чтобы показать счетчик, у меня есть скрытый элемент div, фоновое изображение которого - счетчик, и я скрываю его и показываю, как показано в файле timeline.js.erb, упомянутом ниже.Однако в первый раз, когда я выбираю какое-либо значение раскрывающегося списка и щелкаю по нему, спиннер не загружается (т.е. ajax: beforeSend ("# spinnerTimeLineDiv3"). Show (); не работает), однако при последующих щелчках любого значения я получаюжелаемый результат.

Кто-нибудь может подсказать, в чем проблема - жадность ??

Примечание: я делаю clearInnerHTML, но div, в котором присутствует счетчик, не является частью div3, которую я очищаю.

<%= link_to "You", {:controller=>"messages", :action => "timeline",:channelToViewTimeline =>"xyz", :nameofchanneltoviewtimeline =>"name"},{:remote => true} %>

Приведенная выше ссылка вызывает нижеприведенный js, который соответственно отображает часть, упомянутую в js, через jquery

timeline.js.erb

    $('#frmchannellist')
  .bind('ajax:beforeSend', function(evt, data, status, xhr){
    clearInnerHtml('div3');
     $("#spinnerTimeLineDiv3").show();
  })
  .bind('ajax:loading', function(evt, data, status, xhr){
  mclosetime();document.getElementById('selectedchannelfortimeline').innerHTML
= 'All'
  })
  .bind('ajax:success', function(evt, data, status, xhr){
    $("#spinnerTimeLineDiv3").hide();
     $("#div3").html("<%= escape_javascript render '/test/timeline'
%>");
  });

Я использую jruby 1.6.0 рельсов 3.0 рубин 1.8.7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...