【问题标题】:JQuery remove/add ID class for an Infopath webpartJQuery 删除/添加 Infopath webpart 的 ID 类
【发布时间】:2014-06-05 06:38:56
【问题描述】:

我创建了两个发布到单独列表的 Infopath 表单。我将它们组合成一张表格,让用户看起来和感觉他们正在填写一张表格。

由于表单提交到两个单独的 SharePoint 列表,每个表单 webpart 将具有单独的提交按钮。更重要的是,第二个 Web 部件只有在用户单击第一个按钮时才可见,这将提交表单并调出第二个 Web 部件。

使用 webpart ID('#FormWebPartID') 和简单的 CSS 显示样式隐藏 webpart:无。 单击按钮时,我想删除类或切换类,理想情况下会删除显示:无。

下面是第一个按钮的代码,它将显示第二个 webpart。

<style type="text/css">
#FormWebPartID {
display: none
}
.newClass {
display: initial
}
</style>
<script language="JavaScript">

$(document).ready(function(){
$("#show").click(function(){
$("#FormWebPartID").toggleClass("newClass");
                 or
$("#FormWebPartID").removeClass("#FormWebPartID");
   });
});
</script>

<button id="show" type="button" style="margin-left: 40%; margin-right: 40%">Add Action Items</button>

当然,我不会在代码中同时使用这两个选项来运行它,但我只是想向你们展示我尝试过的东西。因此,使用此代码,第一个 Web 部件是可见的,“添加操作项”按钮也是如此。第二个 webpart 不可见,但是当我单击应该显示第二个 webpart 的按钮时,我什么也得不到。

【问题讨论】:

    标签: javascript jquery css forms sharepoint


    【解决方案1】:

    在您的示例中,您试图删除类“#FormWebPartID”,它是元素的 id,而不是类。我做了一个jsfiddle,向您展示了一种方法,方法是添加一个我称之为“隐藏”的类,然后按下按钮将其删除。它使用以下 jQuery:

    $(document).ready(function(){
        $("#show").click(function(){
            $("#FormWebPartID").removeClass("hidden");
       });
    });
    

    或者,您可以使用以下 jQuery 更改元素的 css 属性:

    $('#FormWebPartID').css('display', 'block')
    

    然后您可以直接将display: none; 放入#FormWebPartID 的css 中,无需额外的类。 查看 here 以获取更新的 jsfiddle。

    【讨论】:

    • 那么我可以将类添加到元素中吗?如果是这样,我将如何去做?我可以将 .hidden 类附加到 #FormWebPartID 元素吗?我正在尝试修改 sharepoint webpart,并且该元素当前没有分配给它的类。它被包裹在
      标签内。
    • 还有另一个 ID 为 #WebPartWPQ3 的元素分配了 class="s4-wpcell"。如何在不删除 .s4-wpcell 的情况下将 .hidden 分配给它?
    • 对不起,我好像有点误会你了。我已经用不需要添加新类的解决方案更新了我的答案,而是根据元素 ID 修改 css。关于您的其他评论,元素可以有多个类,只需将它们用空格分隔,如下所示:class='class1 class2'
    • 出于某种原因,“显示:块”是 Web 部件呈现的唯一方式。现在我遇到了 cmets 字段将页面拉伸到无限滚动的问题。我稍后会解决这个问题,我认为这与启用附加功能的 cmets 有关。非常感谢,非常感谢您的帮助。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签