首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quickbase甘特图Jquery更改

Quickbase甘特图Jquery更改
EN

Stack Overflow用户
提问于 2016-07-14 14:07:53
回答 1查看 217关注 0票数 0

我们目前正在使用Quickbase中的甘特图表功能来突出当前开发人员的工作负载。我们正在创建有假期的任务,以便将假期放在相同的任务级别上。有一个悬而未决的要求,使蓝色条形紫色,这样你就可以区分两者。目前,我们已经创建了一个计算字段,添加了HTML,但是jquery无法正常工作。这就是我们目前的情况。

代码语言:javascript
复制
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中的图像替换为脚本中的图像。任何帮助都是很棒的

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-14 17:23:27

看起来有几个问题导致您的代码无法工作。首先,让我区分Quickbase中的“计算字段”和“公式字段”。计算字段在报表视图中定义(意味着它们只能在该报表中查看,而不允许使用HTML )。另一方面,公式字段是像传统字段一样创建的,允许您选择允许某些HTML的复选框。您需要使用公式字段来获得在表单或报表中运行的代码。您还需要确保该字段在报告中可见,否则代码将不会被执行。

一旦解决了这个问题,您的脚本可能无法运行,因为Quickbase限制了允许的HTML标记。而不是改变图像,您将看到您的脚本文本显示在字段中。您可以通过在onload元素的IMG标记中放置脚本来解决这个问题。这将具有不再需要document.ready(function(){});正确执行的附加效果。

最后,最后一个问题是选择器。即使您使用的是附加到特定记录的公式字段,脚本本身也会对整个页面执行。为了只为任务名为"Vacation“的记录选择img元素,您需要一种区分行的方法。幸运的是,时间线报告将每一行封装在一个div中,给它一个id "rid“+记录ID。

因此,如果将所有这些放在一起,您将得到一个公式文本字段,其中包含“允许在字段中插入一些HTML标记”,并将其作为公式:

代码语言:javascript
复制
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'));\">", "")

我在我自己的时间表报告中测试了上面的公式,它像预期的那样工作。

编辑:

若要排除Quickbase在编辑源时自动放置的空白2x2.gif图像,请执行以下操作:

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38376454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档