【发布时间】:2016-07-15 14:23:20
【问题描述】:
我一直在 Sharepoint Online/365 上做一些工作,但在尝试在 NewForm.aspx 中设置查找或选择列的值时遇到了困难
将我的问题缩小到无法设置查找/选择列
我已将页面上的代码简化为
//Phase being a Choice Column & Closure a case sensitive valid option
$("select[title='Phase']").val("Closure");
//ProjectName being a Lookup Column & Test2 a case sensitive valid entry in the list
$("select[title='ProjectName']").val("Test2");
我在设置文本字段时没有问题,因为以下代码在我创建的文本字段上运行良好
$("input[title='TextField']").val("Test2");
我使用过以下 Jquery 库 1.7.2/min.js 和 1.11.3
【问题讨论】:
-
$("select[title='Phase']")是动态创建的还是在页面加载时存在? -
我相信当页面加载时,不太确定,脚本是通过 sharepoint 的脚本编辑器 web 部件或引用包含脚本的 txt 文件的内容编辑器 web 部件添加的。我尝试了两个脚本
-
如果它们是在加载 DOM 之后创建的(它们不是原始 DOM 的一部分,您应该像
$(document).find("select[title='Phase']").val("Closure");一样引用它们,$(document) 允许您与已加载 DOM。 -
感谢您的建议,我一直在使用 _spBodyOnLoadFunctionNames.push() 来确保我的脚本在 DOM 之后运行
-
我无意中添加了之前的评论。感谢您的建议,我确实从中学到了一些有用的东西。我认为问题可能在于 SP 如何在查找/选择字段中显示数据。最初我想将查询字符串值传递给 newform.aspx 中的查找字段,但即使在 _spBodyOnLoadFunctionNames.push() 中运行脚本时它也无法正常工作,我已经更改了之前的页面设计以推出项目的 ID 字段它的标题字段作为查询字符串。现在我通过下面的 cewp 和脚本调用它的 ID 来检索标题值
标签: javascript office365 sharepoint-online choicefield lookupfield