Пользовательские изображения флажков для HTML, возвращаемых через AJAX - PullRequest
0 голосов
/ 02 апреля 2012

Поэтому я использую плагин 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 вернет HTML-страницу partail.Когда это происходит, div загружается нормально, но флажки не заменяются изображениями.Я думаю, что понимаю, почему это происходит, моя проблема в том, что я не знаю, что мне нужно сделать, чтобы это исправить .... Так как HTML возвращается как строка, я должен просто использовать замену строки?Или есть лучший способ обойти это?

Кроме того, все отображаемые флажки отключены, так как они просто используются для просмотра данных.

1 Ответ

2 голосов
/ 02 апреля 2012

Это происходит из-за того, что запрос $ .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'
        });
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...