lolalola
lolalola

Reputation: 3823

jquery, unselect checkbox

now i get value if i selected checkbox(id which was selected), but how get value when i unselected (id which was unselected)?

For example I push on 1, and i get value 1. When I unselect 1, i get value 1. I hope you understand my problem.

<script>
$(document).ready(function()
{
    $("input[type=checkbox]").change(function(event){
        $("#result").html("&id=" + this.value);
    });
});
</script>
</head>                                                                 
<body>                                                                
<input type="checkbox" name="checkbox_pref" value = "1"/>1
<input type="checkbox" name="checkbox_pref" value = "2"/>2
<input type="checkbox" name="checkbox_pref" value = "3"/>3 
<div id="result">result ...</div>

Upvotes: 1

Views: 573

Answers (2)

Bob Fincheimer
Bob Fincheimer

Reputation: 18056

I simply create an array with all the checked values.

Then i can use join to create string out of it for later use.

$(document).ready(function() {
    var $inputs = $("input[type=checkbox]");
    $inputs.change(function(event){
        var list = [];
        $inputs.filter(':checked').each(function() {
            list.push($(this).val());
        });
        $("#result").html("&id=" + list.join(",")); // Produces: &id = 1,2,3 (If they were all checked)
    });
});

Upvotes: 1

Mark
Mark

Reputation: 5720

I believe if you use this.attr('checked') you should get back a boolean.

or you could do

this.is(':checked')

Upvotes: 0

Related Questions