在jquery中附加复选框元素后点击不起作用

时间:2014-08-29 12:46:00

标签: javascript jquery checkbox append

contact_container div包含联系人子项,这些子项中有一个复选框。我使用ajax将这些子项附加到容器中。一旦我附加了html并单击了一个childs复选框。 .click 无法识别新添加的复选框,只有子项处理页面加载。下面是我的HTML和Jquery的工作示例。

您是否可以提供解决方案,以便在单击时附加复选框?感谢

这是我的HTML标记:

   <div id="contact_container">
    <div class="contact">
        <div class="contact_checkbox">
             <div class="checkbox_container">
                 <div class="checkbox">
                     <input class="testing_checkbox" type="checkbox" name="contacts[]" value="bf6b0049059ec8998601f8fe20acb68ecafe2d44">
                </div>
             </div>
        </div>
        <div class="contact_info">
            <div class="contact_image">
                <img src="image.jpg" width="50" height="50" alt="Profile Picture">
            </div>
            <div class="contact_name"><span>Caroline Airey</span>
            </div>
       </div>
    </div>
</div>
<div id="x_message" class="inputdata" style="overflow: hidden; display: none;">
    <label>Message:</label>
    <span><textarea name="x_message" placeholder="Enter a message to send to your contact(s)"></textarea></span>
    <div class="clear"></div>
    <button class="form_button">Add Contact to Network</button>
</div>

这是我的Jquery:

$( ".checkbox" ).click(function() {
    var checked = $('.testing_checkbox:checked').length;
    $('#testing').val(checked);
    if (checked > 0){
        $('#x_message').show(1000);
    }
    else{
        $('#x_message').hide(1000);
    }
});

2 个答案:

答案 0 :(得分:3)

您将需要Parent引用将元素正确绑定到jquery尝试此

$(parentObj).on("click",".checkbox",function() {
var checked = $('.testing_checkbox:checked').length;
$('#testing').val(checked);
if (checked > 0){
    $('#x_message').show(1000);
}
else{
    $('#x_message').hide(1000);
}
});

parentObj 是您使用ajax调用附加html代码的div或html元素

答案 1 :(得分:0)

请改用此jQuery方法:

$(".checkbox").on("click", function()
{
    // Your code here
});

这将从最初加载后动态添加到页面的元素中获取点击次数:)