ajax调用后检查某些复选框

时间:2013-05-15 18:13:36

标签: php jquery ajax checkbox

嗨大家我需要在发出ajax请求后检查某些复选框。

ajax请求会从另一个页面中拉出复选框,并且所使用的jquery位于原始页面上。我不知道如何解决这个问题我想:

<input type="checkbox" class="case" name="case" value="1"/>
<input type="checkbox" class="case" name="case" value="2"/>
<input type="checkbox" class="case" name="case" value="3"/>
<input type="checkbox" class="case" name="case" value="4"/>

$(document).ready(function() 
{
    $(function()
    {
        $("#selectall").on('click', function(){
            $('.case').attr('checked',this.checked);
        });

        $(".case").on('click', function(){
            if($(".case").length==$(".case:checked").length)
            {
                $("#selectall").attr("checked","checked");
            }
            else
            {
                $("#selectall").removeAttr("checked");
            }
        });
    });});

当没有涉及ajax请求时,哪个工作正常。如果有人能帮我找到一种方法来允许在使用ajax请求时检查复选框,我想知道吗?

由于

3 个答案:

答案 0 :(得分:0)

我想最好选中提取这些复选框的页面中的复选框。 所以用ajax加载html,而不是加载完成后选中复选框

答案 1 :(得分:0)

你需要在http://api.jquery.com/on/上使用jquery才能在ajax加载后绑定click事件......

<input type="checkbox" class="case" name="case" value="1"/>
<input type="checkbox" class="case" name="case" value="2"/>
<input type="checkbox" class="case" name="case" value="3"/>
<input type="checkbox" class="case" name="case" value="4"/>

<SCRIPT>
$(function(){
    $("#selectall").on('click', function(){
        $('.case').attr('checked',this.checked);
    });

    $(".case").on('click', function(){
        if($(".case").length==$(".case:checked").length)
        {
            $("#selectall").attr("checked","checked");
        }
        else
        {
            $("#selectall").removeAttr("checked");
        }
    });
});
</SCRIPT>

答案 2 :(得分:0)

您需要委派活动..

由于绑定事件时页面上尚未提供复选框。因此,将它们委托给静态父容器应该可以解决问题。

$(staticContainer).on.('click', "#selectall", function ({
    $('.case').prop('checked', this.checked);
});

$(staticContainer).on.('click', 'case', function () {
    if ($(".case").length == $(".case:checked").length {
        $("#selectall").prop("checked", true);
    } else {
        $("#selectall").prop("checked", false);
    }
});

取消选中复选框而不是删除它的属性总是一个好主意。