我创建了以下代码,以便从SharePoint网站复制字段的内容。
(我提到了SP,因为我们无法编辑标签)
该字段的数据格式为"name (department)"
。
然后,我需要将其分为两列,一列用于名称,一列用于部门。
不幸的是,标签没有任何ID或标题来帮助我选择正确的列,因此我需要计算每一行的子代并将结果附加到正确的列中。
但是,我的代码无法正常工作,而且由于我对jQuery的经验不足,所以我无法弄清原因。
尽管我可以将部门名称分开,但我有两个问题:
$('tr td.ms-vb-user')
都在单元格中重复例如,如果我们有:
用户A(部门A)
用户B(部门B)
然后所有的四个孩子都会(DepartmentA)(DepartmentB)
和所有的第五个孩子UserA
UserB
原谅我的无知:)
期待您的回答。
$(document).ready(function() {
FindTextToSplit();
});
function FindTextToSplit(){
$('tr td.ms-vb-user').each(function(){
var myField = $(this).text();
var name = myField.substr(0,myField.indexOf('('));
var department = myField.substr(myField.indexOf('('), myField.indexOf(')'));
$("tr td:nth-child(4)").append(department);
$("tr td:nth-child(5)").append(name);
});
}
我设法找到了解决方案:)
将表的摘要连接起来并遍历每一行而不是每个单元格后,现在它就像一个魅力一样工作了!
$(document).ready(function() {
FindTextToSplit();
});
function FindTextToSplit(){
$("table[summary='TestList'] tr[class!='ms-viewheadertr']").each(function(){
var myField = $(this).find("td:nth-child(3)").text();
var name = myField.substr(0,myField.indexOf('('));
var department = myField.substr(myField.indexOf('('), myField.indexOf(')'));
$(this).find("td:nth-child(4)").append(department);
$(this).find("td:nth-child(5)").append(name);
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句