Existe-t-il un moyen de modifier un champ de recherche multivalue en utilisant le modèle d'objet client JavaScript? Je dois supprimer une ou plusieurs valeurs de recherche et éventuellement ajouter une ou plusieurs valeurs.
Je recherche partout, je lis la documentation MSDN …, je regarde aussi sous mon bureau!
Merci.
Multiple-Column Lookup
valeur de Multiple-Column Lookup
est représentée sous la forme d'un tableau d'objets SP.FieldLookupValue .
Lookup
multiple var context = new SP.ClientContext.get_current(); var web = context.get_web(); var list = web.get_lists().getByTitle(listTitle); var listItem = list.getItemById(1); context.load(listItem); context.executeQueryAsync( function() { var lookupVals = listItem.get_item(fieldName); //get multi lookup value (SP.FieldLookupValue[]) for(var i = 0;i < lookupVals.length;i++) { console.log(lookupVals[i].get_lookupId()); //print Id console.log(lookupVals[i].get_lookupValue()); //print Value } }, function(sender,args){ console.log(args.get_message()); } );
Lookup
multiple Pour mettre à jour plusieurs valeurs de recherche, vous devez spécifier la valeur du type SP.FieldLookupValue[]
. Remarque, SP.FieldLookupValue
pourrait être initialisé en spécifiant LookupId
uniquement.
var context = new SP.ClientContext.get_current(); var web = context.get_web(); var list = web.get_lists().getByTitle(listTitle); var listItem = list.getItemById(1); var lookupVals = []; //set 1st Lookup value var lookupVal1 = new SP.FieldLookupValue(); lookupVal1.set_lookupId(1); lookupVals.push(lookupVal1); //set 2nd Lookup value var lookupVal2 = new SP.FieldLookupValue(); lookupVal2.set_lookupId(2); lookupVals.push(lookupVal2); listItem.set_item(fieldName,lookupVals); listItem.update(); context.executeQueryAsync( function() { console.log('Multi lookup field has been updated'); }, function(sender,args){ console.log(args.get_message()); } );
Vous pouvez obtenir des valeurs de recherche via js de cette façon:
ClientContext.executeQueryAsync (function () {
var listItemEnumerator = collListItem.getEnumerator(); while (listItemEnumerator.moveNext()) { var oListItem = listItemEnumerator.get_current(); chartX.push(oListItem.get_item(xAxisName)); } lookupValue1= chartX["0"].$1g_1; lookupValue2= chartX["1"].$1g_1;