function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Allen ManamelAllen Manamel 

Picklist field not getting populated from lightning component

I am trying to display a state field in lightning component for a form and then calling the apex method to store the information, but it does not store the state value on the backend. I am not sure what is wrong with the code below.

Here is my lightning component code:

<aura:component  implements="forceCommunity:availableForAllPageTypes"  access="global" controller="StateController">
    <aura:attribute name="ContactInfo" type="Contact"  
                    default="{ 'sobjectType': 'Contact',
                             'addressLine1': '', 
                             'addressLine2': '', 
                             'city': '', 
                             'zip': '', 
                             'state': '',
                             'country': '',  
                             'citizenshipType': ''
                             }"/>

          <!---State-->
            <div class="form-element__control">
                <label class="form-element__label formlabel" for="state">State</label>
                <div class="form-element">
                    <div class="form-element__control">
                        
                        
                        <lightning:select   
                                          aura:id="fieldId"
                                          class="select" 
                                          name="state"
                                          label="State" 
                                          variant="label-hidden"
                                          required="true" 
                                          value="{!v.ContactInfo.Permanent_State_Province__c}"
                                          messageWhenValueMissing="Please Select a State">
                            
                            <option value="">Select a state</option>
                            <option value="AL">Alabama</option>
                            <option value="AK">Alaska</option>
                            <option value="AS">American Samoa</option>
                            <option value="AZ">Arizona</option>
                            <option value="AR">Arkansas</option>
                            <option value="CA">California</option>
                            <option value="CO">Colorado</option>
                            <option value="CT">Connecticut</option>
                            <option value="DE">Delaware</option>
                            <option value="DC">District of Columbia</option>
                            <option value="FL">Florida</option>
                            <option value="GA">Georgia</option>
                            <option value="HI">Hawaii</option>
                            <option value="ID">Idaho</option>
                            <option value="IL">Illinois</option>
                            <option value="IN">Indiana</option>
                            <option value="IA">Iowa</option>
                            <option value="KS">Kansas</option>
                            <option value="KY">Kentucky</option>
                            <option value="LA">Louisiana</option>
                            <option value="ME">Maine</option>
                            <option value="MD">Maryland</option>
                            <option value="MA">Massachusetts</option>
                            <option value="MI">Michigan</option>
                            <option value="MN">Minnesota</option>
                            <option value="MS">Mississippi</option>
                            <option value="MO">Missouri</option>
                            <option value="MT">Montana</option>
                            <option value="NE">Nebraska</option>
                            <option value="NV">Nevada</option>
                            <option value="NH">New Hampshire</option>
                            <option value="NJ">New Jersey</option>
                            <option value="NM">New Mexico</option>
                            <option value="NY">New York</option>
                            <option value="NC">North Carolina</option>
                            <option value="ND">North Dakota</option>
                            <option value="OH">Ohio</option>
                            <option value="OK">Oklahoma</option>
                            <option value="OR">Oregon</option>
                            <option value="PA">Pennsylvania</option>
                            <option value="PR">Puerto Rico</option>
                            <option value="RI">Rhode Island</option>
                            <option value="SC">South Carolina</option>
                            <option value="SD">South Dakota</option>
                            <option value="TN">Tennessee</option>
                            <option value="TX">Texas</option>
                            <option value="UT">Utah</option>
                            <option value="VT">Vermont</option>
                            <option value="VI">Virgin Islands</option>
                            <option value="VA">Virginia</option>
                            <option value="WA">Washington</option>
                            <option value="WV">West Virginia</option>
                            <option value="WI">Wisconsin</option>
                            <option value="WY">Wyoming</option>
                            <option value="AA">Armed Forces America</option>
                            
                        </lightning:select>
                    </div>
                </div>
            </div>

       <div>
            <lightning:button name="saveContinue" onclick="{!c.clickUpdate}"  > 
                Save and Continue 
            </lightning:button>
       </div>
    </aura:component>

**Controller Class:**
   
    ({
    clickUpdate : function(component, event, helper) {
        var allValid = component.find('fieldId').reduce(function (validSoFar, inputCmp) {
            inputCmp.showHelpMessageIfInvalid();
            return validSoFar && !inputCmp.get('v.validity').valueMissing;
        }, true);
        if(allValid){
            var isError = component.get("v.isError");
            if( isError ){
                component.set("v.isError", false);
            }
            helper.saveData(component,event,helper);
        }else{
            component.set("v.isError", true);
         }
       }

     })


**Helper Class:**

    ({
      saveData : function(component,event,helper) {
        var bttnClicked  =  event.getSource().get("v.name");
        var action = component.get("c.saveRecord");
        action.setParams({ 
            contactData : component.get("v.ContactInfo")
           
        });

      .........
      .........
      .........

    })


**Here is the apex class:**

    public without sharing class  StateController {

    @AuraEnabled
    public static void saveRecord(contact contactData){
        try{
            if(contactData!=null){
                update contactData;
            }
            
        }catch(Exception ex){
           system.debug('ex'+ex); 
        }
        
      }

    }
ANUTEJANUTEJ (Salesforce Developers) 
Hi Allen,

Have you tried checking if the value being sent to the apex class is it proper? also in the apex class I see that there is a system.debug statement are you getting a null value over here?

Looking forward to your response.

Thanks.