1

SharePoint リストがあり、JavaScript を使用してリストからメタデータを取得していますが、用語ストアから用語を含むフィールドのメタデータを取得する方法が 1 つあります。

これが私のコードです:

function getmetadata()
{ 
    var listGuid = GetUrlKeyValue("List");
    var itemId = GetUrlKeyValue("ID");
    var clientContext = new SP.ClientContext();
    var item = clientContext.get_web().get_lists().getById(listGuid).getItemById(itemId);
    clientContext.load(item);
    clientContext.executeQueryAsync(
        function(){
             var logos = item.get_item("logo2");
             var code = item.get_item("Code_postal_x002d_batiment");
             var Surface = item.get_item("Surface");
             var complement = item.get_item("Secteur_activite_x002d_complement");
             var porteur = item.get_item("Nom_client");
             var mission = item.get_item("Mission_x002d_Artdesk");
             var vedette = item.get_item("photo_x0020_vedette");
             document.getElementById("logo").innerHTML = logos;
             document.getElementById("codepostal").innerHTML = code;
             document.getElementById("surface").innerHTML = Surface;
             document.getElementById("complement").innerHTML = complement;
             document.getElementById("porteur").innerHTML = porteur;
             document.getElementById("mission").innerHTML = mission;
             document.getElementById("photovedette").innerHTML = vedette;

        },
        function(sender,args){
            alert(args.get_message());
        });
}

たとえば、これは用語ストアの用語「Mission_x002d_Artdesk」ですが、返される値は次のとおりです。[object Object]

用語ストアから用語値を取得するにはどうすればよいですか?

4

1 に答える 1

1

管理されたメタデータ フィールドが複数の値を許可する場合、オブジェクトはTaxonomyFieldValueCollection型になります。それ以外の場合は、単一のTaxonomyFieldValueになります。

Label単一の管理されたメタデータ フィールドの値を取得できますが、コレクションでは取得できません。Labelコレクション内の個々の値を取得するには、コレクションをループする必要があります。

単一値の分類フィールドのラベルを取得する

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
}
于 2016-09-08T15:47:34.970 に答える