Подсветка jQuery с помощью ASP: UpdatePanel - PullRequest
0 голосов
/ 18 июня 2010

В настоящее время я работаю с AJAX: UpdatePanelAnimationExtender и реализовал его в коде, который в настоящее время работает отлично, но у меня возникла проблема с использованием UpdatePanelAnimationExtender и ASP: Repeater.Я возился с разными способами его реализации, но ничего не получалось правильно ...Я пытался написать его в codebehind - внутри itemBound (генерирует код отлично, привязан к UPAE, но, конечно, отбрасывается при частичной обратной передаче).Я также пытался использовать его в aspx, что также создает проблему.Сам повторитель создает таблицу элементов (корзину), и я пытаюсь выделить элементы, которые изменились при обратной передаче (выделите qty, если изменяется количество и т. Д.).
Я читал, что у jquery есть намного более чистый способ сделать это, и я пытаюсь идти в этом направлении.редактировать: в настоящее время я смотрю на

    function pageLoad()
    {
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
        changedHighlight();
    }
    function EndRequestHandler(sender, args){
        if (args.get_error() == undefined){ changedHighlight(); }
    }
    function changedHighlight() {
        $(document).ready(function() {
            $('span,input,option,select').live('change', function() { $(this).effect("highlight", {color: "#44EE22"}, 1500); });
        });
    }

Я должен сравнить сохраненное значение для него с новым объявленным значением, над которым я сейчас работаю.Также «изменение» не работает на ярлыках asp:

1 Ответ

0 голосов
/ 22 июня 2010

Завершается использованием глобального var (eh ..) из-за проблемы обратной передачи с UpdatePanel и воссозданием DOM каждый раз (что означает невозможность использования $ .data () или this.data ()).

Будет выделять только неподтвержденные входы и элементы DOM, которые имеют идентификатор. (в противном случае статические символы asp: продолжат мигать)

var oldVar = [];
function pageLoad()
{
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler)
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}
function BeginRequestHandler(sender, args) {
    $(document).ready(function() {
        oldVar = [];
        $('input,select,span').each(function() {
        if (this.type != "submit" && this.id != '') oldVar[this.id] = getValue(this);
        });
    });
}
function EndRequestHandler(sender, args){
    $(document).ready(function() {
        $('input,select,span').each(function() {
            if (this.type != "submit" && this.id != '')
            {
                if (oldVar[this.id] != getValue(this))
                {
                    $(this).effect('highlight', {color: '#44EE22'}, 3000);
                    oldVar[this.id] = getValue(this);
                }
            }
        });
    });
}
function getValue(control){
    if ('value' in control) return control.value;
    else if('textContent' in control) return control.textContent;
    else if('innerText' in control) return control.innerText;
}
...