Search code examples
jquerydynamiccheckboxonchange

jquery dynamically added checkbox not working with change() function


I dynamically load in a few li's that have a label and a checkbox in them to another visible ul. I set the checkboxes to be checked="checked" and i am trying to trigger an event to happen when i change these dynamically inserted checkboxes but nothing occurs.

Here is the jquery:

$(".otherProductCheckbox:checkbox").change( function(){
    alert('test');
});

Here is the html for the dynamically added li's:

<li class="otherProduct"><input type="checkbox" class="otherProductCheckbox radioCheck" checked="checked"/><label>Product Name</label></li>

Any idea why i cant get the alert to happen when the checkbox changes its checked state?


Solution

  • You have to use liveQuery or live to bind events to dynamically added elements.

    $(".otherProductCheckbox:checkbox").live('change', function(){
        alert('test');
    });
    

    EDIT To work in IE, you have to use click not change

    $(".otherProductCheckbox:checkbox").live('click', function(){
            alert('test');
     });