2016-07-14 131 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