Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对SharePoint列表进行排序/筛选后,jQuery DOM更改将消失_Jquery_Sorting_Dom_Sharepoint_Sharepoint 2013 - Fatal编程技术网

对SharePoint列表进行排序/筛选后,jQuery DOM更改将消失

对SharePoint列表进行排序/筛选后,jQuery DOM更改将消失,jquery,sorting,dom,sharepoint,sharepoint-2013,Jquery,Sorting,Dom,Sharepoint,Sharepoint 2013,我已将jQuery代码添加到SharePoint脚本编辑器Web部件,该部件采用文档名(例如my_doc.pdf)将域添加到其中以创建完整路径,然后包装”; }); } 事先非常感谢。文本太长,无法发表评论,所以我们开始吧 这是一篇关于JSLink的好文章,其中有一些例子 它非常简单和直接-不需要脚本编辑器或其他奇怪的东西。 假设您想要更改“MyURL”字段呈现 // myrendering.js (function () { var ctx = {}; ctx.Temp

我已将jQuery代码添加到SharePoint脚本编辑器Web部件,该部件采用文档名(例如my_doc.pdf)将域添加到其中以创建完整路径,然后包装
”;
});
}

事先非常感谢。

文本太长,无法发表评论,所以我们开始吧

这是一篇关于JSLink的好文章,其中有一些例子 它非常简单和直接-不需要脚本编辑器或其他奇怪的东西。 假设您想要更改“MyURL”字段呈现

// myrendering.js
(function () { 

    var ctx = {}; 
    ctx.Templates = {}; 
    ctx.Templates.Fields = { // you can override many things, but in this case we are going for the Fields
        // Apply the new rendering for MyURL field on List View 
        // But you can add as many fields as you like
        "MyURL": { "View": myUrlFieldTemplate }
    }; 

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctx); 

})();
// This function provides the rendering logic for list view 
// Instead of default SharePoint url field you will get whatever you return from this function
function myUrlFieldTemplate(ctx) {  
    // put debugger here to see whats going on - it will help you alot  
    var myUrl = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; // get field value
    return "<a target='_blank' href='" + myUrl + "'>Im JSLink rendered field!</a>";
    // or you can return whatever you want, for example
    // return "<button>Im button now!</button>";
    // and your field "MyURL" will become a button in a list view
} 
//end
//myrendering.js
(函数(){
var ctx={};
模板={};
ctx.Templates.Fields={//您可以覆盖许多内容,但在本例中,我们将使用字段
//在列表视图上为MyURL字段应用新的呈现
//但您可以添加任意数量的字段
“MyURL”:{“视图”:myUrlFieldTemplate}
}; 
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctx);
})();
//此函数提供列表视图的呈现逻辑
//您将获得此函数返回的任何内容,而不是默认的SharePoint url字段
函数myUrlFieldTemplate(ctx){
//把调试器放在这里看看发生了什么-它会帮你很多
var myUrl=ctx.CurrentItem[ctx.CurrentFieldSchema.Name];//获取字段值
返回“”;
//或者你可以返回任何你想要的,例如
//返回“即时通讯按钮现在!”;
//您的字段“MyURL”将成为列表视图中的一个按钮
} 
//结束

显然,保持更改的一种方法是在每次
hashchange
之后调用函数:

window.addEventListener("hashchange", myFunction, false);

您选择使用脚本编辑器web部件而不是使用内置功能的任何原因?谢谢您的评论。我尝试了JS链接选项,但没有成功,DOM的更改没有出现。你能编辑你的问题以包含你尝试过的代码吗?也许你的方法有一个微妙的问题。再次感谢@Thriggle。我添加了代码。它是什么SharePoint?如果是2013年,那么最好使用上面提到的
JSLink
,只更改某些字段的呈现,而不使用jQuery或附加任何事件。非常感谢@AlexK
window.addEventListener("hashchange", myFunction, false);