2016-07-22 66 views
0

這不是沒有jQuery加載的情況,但我覺得我錯過了其他簡單的東西...在這個分段網站上:https://hidden-tundra-8656.herokuapp.com/orders,一旦頁面加載完成,「Camping & backpacking」應該是自動選擇。document.ready not firing?

這是代碼:

$(document).ready(function() { 
    console.log("about to trigger initial click") 
    $(".category-selector[data-id='"+gon.category_to_start+"']").click() 
}) 

這肯定不會發生。有什麼想法嗎?我能想到的唯一的事情是category-selector是從Ruby插入的,請參閱下面的視圖代碼,所以也許這是導致它?

<div class="row"> 
    <% @item_categories.each do |ic| %> 
     <div class="col-xs-6 category-box"> 
      <div class="row category-row"> 
       <div class="col-xs-12 table-display category-selector text-center" data-id="<%=ic.id%>"> 
        <span class="labeler-response table-cell-display"> 
        <%= ic.name %> 
        </span> 
       </div> 
      </div> 
     </div> 
    <% end %> 
</div> 

一點點信息。

代碼中的console.log未被觸發,並且定義了gon.category_to_start。頁面上的所有其他jQuery都完美運行。

在本頁面,它加載了application.js和一個包含有問題的代碼的單獨的orders/new.js。它首先加載jquery,然後application.js然後new.js。出於參數的緣故,我只是試圖將代碼片段加載到application.js中,並且它在那裏也不工作。這在本地服務器上正常工作。

+0

@ ihemant360如何幫助?添加';'是完全可選的,根本不會改變代碼功能。 –

+0

首先添加jquery庫腳本,然後在您的html中添加jquery腳本 – ihemant360

回答

1

如果您使用的是Turbolinks(如果您設置了導軌項目,則爲默認值),則應該使用page:load作爲事件。

$(document).on("page:load", function() { 
    console.log("about to trigger initial click"); 
    $(".category-selector[data-id='"+gon.category_to_start+"']").click(); 
}); 

注意

如果在生產模式下的時候,請確保您運行bin/rake assets:precompile,讓您的資產上的更新。

+0

我沒有使用turbolinks,無論如何我都試過了,可悲的是沒有工作 – james

+1

@james您可以發佈您的'application.js'到問題嗎?我看不到您在網站上的applicaiton.js文件中發佈的代碼,所以也許這是預編譯時出現的問題,或者包含這一堆代碼 – siegy22

+0

我可以看到在線application.js,我想要源代碼application.js中。請編輯 – siegy22

0

這個問題似乎是與此行

$(".category-selector[data-id='"+gon.category_to_start+"']").click() 

還有就是gon.category_to_start沒有提及所以大概data-id是得到一些不確定的價值。

你也可以檢查console.log被記錄任何價值

「露營&揹包」應該是自動選擇。

但我看到category-selector是在div元素。你是否選擇了div,因爲自動選擇在複選框或單選按鈕上工作

+0

定義了「gon.category_to_start」;如果你將它輸入到控制檯中,你會發現它返回1.我的'console.log'不起作用,但是頁面上的所有其他jQuery都可以正常工作 – james

0

爲什麼在選擇器中包含數據ID? 您可以$( '類名。 ')觸發器(' 點擊')上的文件準備

0

捂臉答案:。預編譯的資產

+0

請更詳細地說明實際問題。 –