【问题标题】:How to get list column which is in xslt list view webpart in in JQuery?如何在 JQuery 中获取 xslt 列表视图 webpart 中的列表列?
【发布时间】:2015-11-01 08:18:02
【问题描述】:

我在 Designer 2013 的 SP2013 中自定义 NewForm.aspx。我正在努力从 SharePoint Designer 2013 中的 XSLT 列表视图 Web 部件中获取列值。我需要使用 JQuery 中的列进行操作以执行一些操作(例如隐藏、禁用ETC。)。目前,我通过将开发人员工具悬停在其上来获取列 ID,但这不是正确的方法,因为 ID 会在质量/生产中发生变化。 示例:-

$("#ctl00_ctl33_g_1ea47d6f_1fed_4426_8e49_cda9970429d6_ff21_ctl00_ctl00_TextField").val("Close");

我想要类似的东西:-

$("#column2").val("Close");

我在 SP Designer 2013 中的 XSLT 看起来像:-

<tr><td>
<H3>column2</H3>
</td>
<td>
<SharePoint:FormField runat="server" id="ff3{$Pos}" ControlMode="Edit"     
FieldName="column2" __designer:bind="  
{ddwrt:DataBind('u',concat('ff3',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@column2')}"/>
<SharePoint:FieldDescription runat="server" id="ff3description{$Pos}" FieldName="column2" ControlMode="Edit"/>
</td>
</tr>

请帮忙。

【问题讨论】:

    标签: xslt sharepoint


    【解决方案1】:

    服务器控件的 ID 不是表示控件的 HTML 元素的 ID,这是标准的 ASP.NET 行为。许多 SharePoint 控件由许多 DIV 和 SPAN 呈现(尤其是诸如人员、格式化文本等列)。所以读取和设置它们的值是一个相当复杂的过程。

    一般你可以使用title属性来搜索包含特定字段的HTML元素的HTML标签。 Title 属性包含字段的名称。对于必填字段,它还包含必填信息。或者您可以尝试搜索 ID 以字段内部名称开头的元素。但是在这两种情况下,您都需要添加一些额外的逻辑来找到包含字段值的正确控件。逻辑需要反映您要查找的字段类型。

    最简单的方法是使用SPJSutilityform designer 等库来处理表单字段。

    即使是最简单的文本框也不能通过将 enabled 属性设置为 false 来禁用,因为在这种情况下,服务器上不会处理该值。

    【讨论】:

    • 您好 Jan,感谢您的帖子。这很有帮助。实际上,我正在寻找字段 ID 属性,所以我可以在 JQuery 中使用它来隐藏/启用等。但是,XSLT 没有给我 ID。我从开发人员工具中获取 ID,但是当我移动到另一个环境时它会改变。你能帮我解决这个问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多