Tuesday, July 29, 2014

jquery: dynamically manipulate the href node

It is difficult to have dynamic look and feel using ASP.NET WebForm ( For the sake of the legacy code maintenance so I have to work with Webform from time to time instead of always ASP.NET MVC ), however using JQuery can help achieve that very handy:

$(function () {

        var spanId = '<%= liveTabLB.ClientID %>';
        var sortDirectionId = '<%= sortingDirection.ClientID %>';
        var current = $('#' + spanId).text();
        var sortDirection = $('#' + sortDirectionId).text();
        var sortTarget = $('#' + '<%= sortingTarget.ClientID %>').text();

        $('.tabs li').each(function (i, ob) {

            if ($(ob).text().indexOf(current) > -1) {
                if (!$(ob).hasClass('on')) $(ob).addClass('on');
            }
            else {
                if ($(ob).hasClass('on')) $(ob).removeClass('on');
            }

        });

        $('.lbTable .headerTR a').each(function (i, ob) {
            var tt = $(ob).text().replace(/ /g, '');
            var extraSpace = " ";
            var extraLine = "
"; var img = 'sort.png'; if (sortDirection === 'ASC' && tt === sortTarget) img = 'up.png'; else if (sortDirection === 'DESC' && tt === sortTarget) img = 'down.png'; var imgSpan = ""; var transformmed = $(ob).text().split(' ').join("
"); if (transformmed.indexOf(extraLine) > -1) $(ob).html(' ' + transformmed + imgSpan); else $(ob).html($(ob).text() + imgSpan + extraLine + extraSpace); }); });

No comments:

Post a Comment