在悬停上显示列描述

时间:2018-01-12 16:58:01

标签: javascript sharepoint sharepoint-2013

当用户将鼠标悬停在列标题上时,我想显示我的sharepoint列表的列描述。目前没有开箱即用的解决方案,我遵循了guide。但是,本指南不适用于SharePoint 2013.任何帮助或指导都会有所帮助!

以下是我尝试将其应用于的列表视图。

enter image description here

1 个答案:

答案 0 :(得分:0)

具体步骤取决于您是否计划使用内容编辑器Web部件或直接编辑“查看”页面。如果您不确定如何做,请告诉我。

结果:

Column headings in mouseover

JavaScript:

注意:使用您选择的jQuery库版本。更改"门票"列表名称列表名称。

<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js" type="text/javascript"></script>

<script>
var testresults
function test() {
  var headings = document.getElementsByClassName('ms-vh-div')
  for (var i=0;i<headings.length; i++)
  {
    var columnName = headings[i].getAttribute("name");
    columnName = columnName.replace("_x0020_"," ");
    var head = headings[i].getElementsByTagName('a')[0];
    //head.title = head.title + "\nhello world"

    $.ajax({
      "url": _spPageContextInfo.webServerRelativeUrl + 
             "/_api/web/Lists/getbytitle('Tickets')/fields?$select=Description&$filter=Title eq '" + columnName + "'",
      "method": "GET" ,
      "theHeading": head,
      "headers": {
          "accept": "application/json;odata=verbose"
      },
      "success" : function(data) { 
        var xml = arguments[2].response; 
        var description = "" + $(xml).find("content").text()   
        this.theHeading.title += "\n" + description;
      },
      "error" : function(e) { console.log("error " + e.message) }
    });
  }
}

// delay script until SharePoint "stuff" is finished.
_spBodyOnLoadFunctionNames.push("test")
</script>