Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

RonB1985's avatar

Updating a value in a data array upon deselecting a checkbox

Example:

https://jsfiddle.net/jqumt5oy/

I'm using a simple array to populate my table:

    data: {
        groceries: [
            { description: 'Chicken', price: 1, number: 4, selected: true },
            { description: 'Beef', price: 2, number: 0, selected: false },
            { description: 'Beer', price: 3, number: 2, selected: true },
            { description: 'Milk', price: 4, number: 0, selected: false }
        ]
    },

How would I update the number of a row to 0 when deselecting a checkbox?

0 likes
2 replies
ImeDa's avatar
ImeDa
Best Answer
Level 3

Change this line:

<td><input type="checkbox" v-model="grocery.selected" @click="makeZero(grocery)"></td>

And in ur vue instance add method like this:

new Vue({
        el: '#app',

        data: {
            groceries: [
                { description: 'Chicken', price: 1, number: 4, selected: true },
                { description: 'Beef', price: 2, number: 0, selected: false },
                { description: 'Beer', price: 3, number: 2, selected: true },
                { description: 'Milk', price: 4, number: 0, selected: false }
            ]
        },
        
        methods: {
            makeZero: function(grocery) {
            grocery.number = 0;
          }
        }

    });
1 like
RonB1985's avatar

Thanks, awesome, I was just about to reply that I figured it out and wanted to ask if it was good what I did.. I had to do this:

<input type="checkbox" v-model="grocery.selected" @click="selectNumber(grocery)">

        methods: {

            selectNumber: function(grocery) {
                if(grocery.selected == true)
                {
                    grocery.number = 0;
                    grocery.selected = 0;
                }
            }
            
        }

Because if I selected a checkbox, then deselected it again, it was still selected, so I had to add the task.selected = 0. Or am I missing something there?

Please or to participate in this conversation.