通过ajax返回的html的自定义复选框图像

时间:2012-04-02 03:01:33

标签: javascript jquery jquery-plugins

所以我使用simpleImageCheck jQuery插件将复选框更改为图像。这适用于我通常从服务器返回的简单页面:

$(document).ready(function () {
    $("input[type='checkbox']").simpleImageCheck({
        image: './content/themes/base/images/fail.png',
        imageChecked: './content/themes/base/images/success.png'
    });
}

但是,在我的某些页面上,有一些div在按钮点击时动态加载:

function GetData() {
    $.get("/Ajax/Aapt", variables, function (data) {
        $("#AaptTab").html(data);
    });
    $("input[type='checkbox']").simpleImageCheck({
        image: './content/themes/base/images/fail.png',
        imageChecked: './content/themes/base/images/success.png'
    });
}

get请求将返回partail HTML页面。发生这种情况时,div加载正常,但复选框不会替换为图像。我想我明白为什么会这样,我的问题是我不知道应该怎么做才能解决它.... 由于HTML是作为字符串返回的,我应该只使用字符串替换吗?或者有更好的解决方法吗?

我正在显示的每个复选框都被禁用,因为它们仅用于查看数据。

1 个答案:

答案 0 :(得分:2)

这是因为'$ .get'请求需要时间并且异步工作。 试试这个:

function GetData() {
    $.get("/Ajax/Aapt", variables, function (data) {
        $("#AaptTab").html(data);
        $("input[type='checkbox']").simpleImageCheck({
            image: './content/themes/base/images/fail.png',
            imageChecked: './content/themes/base/images/success.png'
        });
    });
}