簡體   English   中英

Ajax請求在Rails中的Ruby中不起作用

[英]Ajax request is not working in ruby on rails

我創建了一個測驗,一個問題一個接一個地顯示,並且必須在列表中顯示問題,然后單擊它會轉到列表中問題的ID。 但它不起作用,裝載機不會停止

這是我的劇本

<script type="text/javascript">
  function set_active(){
  $$('.active-link').each(function(e){
    e.removeClassName('active-link');
  });
    this.addClassName('active-link')
  }

  function draw_report(){
  Element.show('loader')
  new Ajax.Request('answers/ans',
  {asynchronous:true, evalScripts:true,
  parameters:'passed_question='+this.id+'&exam_group_id=<%= @exam_group.id %>',onSuccess:function(request){Element.hide('loader')}
  })
}

  document.observe("dom:loaded", function() {
    $$('.student-link').invoke('observe','click',draw_report);
    $$('.student-link').invoke('observe','click',set_active); 
  });
</script>

在查看頁面

<div class="list_id">
  <%= "Questions" %>
</div>
  <% @slno = 0 %>
  <ul class="student_list">
    <% @questions.each do |s| %>
    <% @slno = @slno+1  %>
      <li class="student_names">
        <a href="#" id="<%=s.id%>"  class="student-link" > <%= @slno %></a>
      </li>
    <% end %>
  </ul>

但是,如果我單擊問題ID,它什么也不會回應

您使用的Javascript控制台沒有任何錯誤嗎? 我說加括號應該可以解決問題:

$$('.student-link').invoke('observe','click',draw_report());
$$('.student-link').invoke('observe','click',set_active());

編輯 :我看到您在原始問題中使用了jQuery標簽。 您確定使用的是jQuery嗎? 因為上面的javascript代碼看起來像是Prototype。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM