Getting all values from a Choice field in SharePoint 2010 using JavaScript
I recently ran into an issue where I needed to get possible values for a SharePoint 2010 choice column. Thought I would share the code in case anyone else runs across this need. This code uses the ECMAScript Client-Side Object Model.
- //Variable to hold the value once returned from SharePoint client.svc
- var distinctChoices = [],
- // Function to return all of the choices from the Choice column passed in
- getUniqueColumnValuesFromChoice = function (columnName) {
- var ctx = new SP.ClientContext.get_current();
- var web = ctx.get_web();
- var list = web.get_lists().getByTitle('Your List Here');
- var field = list.get_fields().getByInternalNameOrTitle(columnName);
- var choiceField = ctx.castTo(field, SP.FieldChoice);
- ctx.load(field);
- // Call executeQueryAsync and pass in success and failure anonymous functions
- ctx.executeQueryAsync(function () {
- // Return array of all of the choices in the choice field
- distinctChoices = choiceField.get_choices();
- // Since call is asynchronous, call function to interact with the choices
- onFieldLoaded();
- },
- // This will be called when executeQueryAsync fails
- function (sender, args) {
- console.log(args);
- });
- };
- function onFieldLoaded() {
- // Not called until choices are loaded into distonctChoices array
- };