如何检索多值分类法字段从术语存储SharePoint在线
How to retrieve multi-value Taxonomy Field from term store SharePoint online
我试图从使用JavaScript的术语存储检索术语,它的工作只是一个很好的与此代码:获取单个分类法字段的标签:
var fieldValue = item.get_item("FieldName");
var fieldLabel = fieldValue.Label;
我有一个问题,检索多值分类字段的标签?我已经试过了
var fieldValue = item.get_item("FieldName");
var taxEnumerator = fieldValue.getEnumerator();
while(taxEnumerator.moveNext()){
var currentTerm = taxEnumerator.get_current();
var label = currentTerm.Label;
// do something with the label here
}
但是行不通
很可能你得到这个错误,因为sp.taxonomy.js
库没有加载,在这种情况下,分类法字段值返回为"轻量级"对象(而不是sp . taxonomytaxonomyfieldvaluecollection对象类型的)。
选项1(推荐):使用sp.taxonomy
库
首先,我会推荐这种方法,因为SP.Taxonomy
名称空间不仅提供了处理分类法字段值的标准方法,而且还提供了通过JSOM使用托管元数据API的方法。
下面的例子展示了如何:
- 确保sp.分类法.js库已加载
- 获取多个分类法字段值,表示/ul>
的例子:
SP.SOD.registerSod('sp.taxonomy.js', SP.Utilities.Utility.getLayoutsPageUrl('sp.taxonomy.js')); SP.SOD.executeFunc('sp.taxonomy.js', 'SP.Taxonomy.TaxonomySession', function () { var ctx = SP.ClientContext.get_current(); var list = ctx.get_web().get_lists().getByTitle(listTitle); var item = list.getItemById(itemId); ctx.load(item); ctx.executeQueryAsync( function(){ var fieldVal = item.get_item(fieldName); for(var i = 0; i < fieldVal.get_count(); i++) { var label = fieldVal.get_item(i).get_label(); var guid = fieldVal.get_item(i).get_termGuid(); //... } }, function(sender,args){ console.log(args.get_message()); }); });
选项2:获取多个分类法字段值而不加载
sp.taxonomy.js
库当
sp.taxonomy
库未加载时,仍然可以通过_Child_Items_
属性检索分类字段值,如下所示:var ctx = SP.ClientContext.get_current(); var list = ctx.get_web().get_lists().getByTitle(listTitle); var item = list.getItemById(itemId); ctx.load(item); ctx.executeQueryAsync( function(){ var fieldVal = item.get_item(fieldName)._Child_Items_; for(var i = 0; i < fieldVal.length; i++) { var label = fieldVal[i].Label; var guid = fieldVal[i].TermGuid; //... } }, function(sender,args){ console.log(args.get_message()); });
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 在wordpress一定时间后更改自定义字段
- 如何在HTML输入字段中添加不可删除的后缀
- Meteor-添加用户自定义字段的方法不起作用
- 互斥单选按钮和相应的输入字段
- 在IE9中的输入字段中输入焦点最近按钮
- 选中单选框时将属性添加到输入字段
- 带有验证和隐藏字段值的提交按钮
- 主干窗体隐藏字段未呈现
- 带有let的JS/EECMAScript6私有字段的模式
- 按钮字段确认点击不'不起作用
- jQuery Wan Spinner插件的多个字段
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 清除以前的$_GET值或不获取仅隐藏字段的值
- 如何检索多值分类法字段从术语存储SharePoint在线