jqGrid cellattr title在白色空格后忽略文本

我在jqgrid中有colmodel,它有’name’和’description’列,我需要将这些描述显示为工具提示,同时将鼠标hover在’name’列上。

说我有这个模型,例如:

colModel: [ { name: "name",.. cellattr: function (rowId, val, rawObject, cm, rdata) { return 'title=' + rawObject[1]; } }, {name : "description",..}, ], 

数据呈现为工具提示,但如果我的描述为“低级标准”,则工具提示为“低”。

理想情况下,它会忽略空格后的所有文本。

我该如何解决? 我是jqGrid的新手。 请尽可能详细解释谢谢

你应该用空格开始返回值。 rawObject的确切格式可能取决于许多因素:填充网格数据的格式。 因此,您应该validation是否应该使用rawObject[1]之类的索引或rawObject.description之类的名称。 所以解决方案可能就像

 cellattr: function (rowId, val, rawObject) { return ' title="' + rawObject[1] + '"'; } 

或者喜欢

 cellattr: function (rowId, val, rawObject) { return ' title="' + rawObject.description '"'; } 

取决于您使用的数据的格式(以及rawObject的rawObject )。 我添加了"标题。

顺便说一句,你可以看到我从回调中删除了cm, rdata ,因为我们不在那里使用。

Oleg正确答案的一个补充:如果你需要多次应用工具提示,你可能想要声明一个这样的函数:

 var addFullNameAsTooltip = function(rowId, val, rawObject, cm, rdata) { return ' title="' + rawObject.firstName + " " + rawObject.lastName + '"'; }; 

并按以下方式使用它:

 // see: https://free-jqgrid.github.io/getting-started/ // CDN used: https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid $(function() { var addFullNameAsTooltip = function(rowId, val, rawObject, cm, rdata) { return ' title="' + rawObject.firstName + " " + rawObject.lastName + '"'; }; $("#grid").jqGrid({ autowidth: true, height: 45, colNames: ['First name', 'Last name', 'Updated?'], colModel: [ {name: "firstName", cellattr: addFullNameAsTooltip}, {name: "lastName", cellattr: addFullNameAsTooltip}, {name: "updated"}], data: [ { id: 10, firstName: "Jane", lastName: "Doe", updated: "no"}, { id: 20, firstName: "Justin", lastName: "Time", updated: "no" } ] }); }); 
   Canonical jqGrid example