I have a below Visualforce page , where I am getting a user input using drop down selection. This input is for a custom field of an object which I need to update once I click save on the VF page.

VF page( part in scopr):

```
    <apex:pageBlockSection columns="1" title="TECHNICAL ASSESSMENT">

        <apex:repeat value="{!interviewSkillReviews}" var="interview">

                <apex:pageblockTable value="{!interview.Skill_review__r}" var="skillreview">

            <apex:column headerValue="Rating">
                <apex:outputField value="{!skillreview.RatingCopy__c}" rendered="{!NOT(interviewerMode)}"/>
                <apex:selectList value="{!rating}" multiselect="false" size="1" rendered="{!interviewerMode}" >
                    <apex:selectOption itemValue="1" itemLabel="1"/>
                    <apex:selectOption itemValue="2" itemLabel="2"/>
                    <apex:selectOption itemValue="3" itemLabel="3"/>
                    <apex:selectOption itemValue="4" itemLabel="4"/>
                    <apex:selectOption itemValue="5" itemLabel="5"/>
                </apex:selectList>
        </apex:column>
            </apex:pageblockTable>

    </apex:repeat>
</apex:pageBlockSection>

```

I use a wrapper class to update a field called rating:

```
public class SkillReviewWrapperTest{

    public Skill_Review__c skillReview{get;set;}

    public String rating{get;set;}

    public SkillReviewWrapperTest(Skill_Review__c skillReview){

         this.skillReview = skillReview;
         this.rating = skillReview.Rating__c;

    }

}

```

In my extension class I do below. Here Skill\_Review\_\_c is the custom object in which there is field called rating which I am trying to update with the value that user enter in drop down selection option on VF page:

```
public String rating{get;set;}
public List<SkillReviewWrapperTest> SkillReviewList{get;set;}
    private void initSkillReviews() {
        skillReviewList=new List<SkillReviewWrapperTest>();        
        for(Skill_Review__c sr: [SELECT Id,Name,Skill__c,Level__c,Skill_Level_Description__c,Recommended_Level_Description__c,Rating__c,Level_of_Skill__c FROM Skill_Review__c where Interview__c =:interview.id ]){              
            skillReviewList.add(new SkillReviewWrapperTest(sr));
        }

public pagereference saveInterviewerFeedback(){

    Set<String> setLevels = new Set<String>();
    for(SkillReviewWrapperTest obj: skillReviewList)
    {
        obj.rating=rating;
        setLevels.add(obj.rating);
    }

    map<String, Id> mapLevelName = new map<String, Id>();
    for(Level__c ratingObj:[SELECT Skill_of_Level__c,Id, Name FROM Level__c WHERE Name IN: setLevels ])
    {
        // store the id, name in a Map to be used later
        mapLevelName.put(ratingObj.Skill_of_Level__c, ratingObj.Id);
    }

    List<Skill_Review__c > updateLevelInSkillReview= new List<Skill_Review__c>();    
    for(SkillReviewWrapperTest obj: skillReviewList)
    {
        // put the level id in SkillreviewList's Level__c, to be updated in database
        // get the level id using the level name selected by user in picklist stored in SkillReviewList
        obj.skillReview.rating__c = mapLevelName.get(obj.skillReview.Level_of_Skill__c); 
        updateLevelInSkillReview.add(obj.skillReview);
    }    

    update updateLevelInSkillReview;

    return null;
}

```

Here is how it looks like:

[![enter image description here](https://i.stack.imgur.com/13TN6.jpg)](https://i.stack.imgur.com/13TN6.jpg)

After saving all skills get the value 5:

[![enter image description here](https://i.stack.imgur.com/7CKZO.jpg)](https://i.stack.imgur.com/7CKZO.jpg)

This is my whole code in scope of this problem. 

**Problem** : So for each skill I see a drop down under rating column which I can select. For example for skill1 user selects 2, skill2 user selects 4, for skill3 user selects 5, but when I save the page which calls saveInterviewerFeedback() method , I see all the skills rating are updated as 5. I noticed that the skill rating which user selects at the end is updated for all the other skills. How do I update the rating value for each skills individually in the code?

FYI - this page uses a standard controller of object Interview\_\_C and Skill\_Review\_\_c is a child of Interview\_\_C.