2016-07-14 99 views
0

我們目前正在使用Quickbase中的甘特圖功能來突出顯示我們當前開發人員的工作量。我們正在創造有假期的任務,以便將假期放在相同的任務級別上。有一個傑出的要求,使藍色條紫色,所以你可以區分兩者。目前我們已經創建了一個Calulated字段,並添加了HTML,但無法讓jquery正常工作。這是我們目前所擁有的。Quickbase甘特圖Jquery變化

If([Task Name]="Vacation","<script type=\"text/javascript\">$(document).ready(function() { $('#timeline img').attr('src',('https://images.quickbase.com/si/16/821-check_purple.png')); });</script>","") 

這應該用腳本中的圖像替換當前行的div中的圖像。任何幫助將是真棒

感謝

回答

0

它看起來像有使你的代碼不能工作了幾個問題。首先,讓我區分Quickbase中的「計算字段」和「公式字段」。計算字段在報告視圖中定義(意味着它們只能在該報告中查看,而不能在其他報告中查看),並且不允許使用HTML。另一方面,公式字段與傳統字段一樣創建,並允許您選擇允許某些HTML的複選框。您需要使用公式字段來獲取代碼以在窗體或報表中運行。您還需要確保在報告中顯示該字段,否則代碼將不會執行。

解決此問題後,您的腳本可能無法運行,因爲Quickbase限制了允許的HTML標記。而不是改變圖像,你會看到你的腳本文本顯示在字段中。您可以通過將腳本放在IMG元素的onload標記中來解決此問題。這將產生不再要求document.ready(function(){});正確執行的附加效果。

最後,最後一個問題是選擇器。即使您使用附加到特定記錄的公式字段,腳本本身也會執行整個頁面。爲了僅選擇img元素作爲任務名稱爲「度假」的記錄,您需要一種方法來區分行。幸運的是,時間線報告包含div中的每一行,並給它一個ID「rid」+記錄ID。

所以,如果你把所有的一起,你應該用「允許在現場插入一些HTML標籤」公式文本字段結束了檢查,並以此爲公式:

If([Task Name]="Vacation", "<img qbu=\"module\" src=\"/i/clear2x2.gif\" onload=\"javascript:$('#rid" & [Record ID#] & " > td:has(div.timeline) > div.timeline > img').attr('src',('https://images.quickbase.com/si/16/821-check_purple.png'));\">", "") 

我測試上述公式在我自己的時間表報告中,並按預期工作。

編輯:

要排除clear2x2.gif形象,編輯源時自動間距Quickbase地方:

If([Task Name]="Vacation", "<img qbu=\"module\" src=\"/i/clear2x2.gif\" onload=\"javascript:$('#rid" & [Record ID#] & " > td:has(div.timeline) > div.timeline > img:not([src^=&quot;/i/clear2x2.gif&quot;])').attr('src',('https://images.quickbase.com/si/16/821-check_purple.png'));\">", "") 
+0

我有一個小問題。時間線div中有兩個img。 clear.gif和timeline.gif。我只需要更新timeline.gif。這是我到目前爲止。如果([Task Name] =「Vacation」,「 td:has(div.timeline)> div.timeline> img:not([src^= /」/ i/clear2x2.gif /「])')。attr ('src',('https://images.quickbase.com/si/16/821-check_purple.png')); \「>」,「」) – JuniorFlip

+0

由於我們下降到第三級引用"可以在你的src ^選擇器中使用,以防止標籤關閉怪異。順便說一下,在替換圖片時你仍然需要https://我編輯了包含更新代碼的答案 –

+0

我做了最後一個孩子, ([任務名稱] =「假期」,「 td:has(div.timeline)> div.timeline> img:last-child')。attr('src',('https://images.quickbase.com/si/16/821-check_purple.png')); \「>」,「」) – JuniorFlip