InstantListFilter using jQuery 1.3.x is not working

Nov 26, 2010 at 2:11 PM

Great Solution.

I have tried it but is not working.

I have inserted CEWP and just copy paste the following code. It does nothing.

Please guide me.

 

<script src="http://www.google.com/jsapi"></script>

<script>


google.load("jquery", "1.2.6");

google.setOnLoadCallback(function() {

$(document).ready(function()
{   
    jQuery.extend(jQuery.expr[':'], {
      containsIgnoreCase: "(a.textContent||a.innerText||jQuery(a).text()||'').toLowerCase().indexOf((m[3]||'').toLowerCase())>=0"
    });

   
    $("table.ms-listviewtable tr.ms-viewheadertr").each(function()
    {
        if($("td.ms-vh-group", this).size() > 0)
        {
            return;   
        }
       
        var tdset = "";
       
        var colIndex = 0;
       
        $(this).children("th,td").each(function()
        {
            if($(this).hasClass("ms-vh-icon"))
            {
                // attachment
                tdset += "<td></td>";
            }
            else
            {
                // filterable
                tdset += "<td><input type='text' class='vossers-filterfield' filtercolindex='" + colIndex + "' /></td>";               
            }
           
            colIndex++;
        });
       
        var tr = "<tr class='vossers-filterrow'>" + tdset + "</tr>";
       
        $(tr).insertAfter(this);
    });   
   
   
    $("input.vossers-filterfield")
        .css("border", "1px solid #7f9db9")
        .css("width", "100%")
        .css("margin", "2px")
        .css("padding", "2px")
        .keyup(function()
        {           
            var inputClosure = this;
           
            if(window.VossersFilterTimeoutHandle)
            {
                clearTimeout(window.VossersFilterTimeoutHandle);
            }
           
            window.VossersFilterTimeoutHandle = setTimeout(function()
            {
                var filterValues = new Array();
               
                $("input.vossers-filterfield", $(inputClosure).parents("tr:first")).each(function()
                {               
                    if($(this).val() != "")               
                    {
                        filterValues[$(this).attr("filtercolindex")] = $(this).val();
                    }
                });       
               
                           
                $(inputClosure).parents("tr.vossers-filterrow").nextAll("tr").each(function()
                {
                    var mismatch = false;
                   
                    $(this).children("td").each(function(colIndex)
                    {
                        if(mismatch) return;
                       
                        if(filterValues[colIndex])
                        {
                            var val = filterValues[colIndex];
                           
                            // replace double quote character with 2 instances of itself
                            val = val.replace(/"/g, String.fromCharCode(34) + String.fromCharCode(34));                           
                                                                               
                            if($(this).is(":not(:containsIgnoreCase('" + val + "'))"))
                            {
                                mismatch = true;
                            }                       
                        }
                    });
                   
                    if(mismatch)
                    {
                        $(this).hide();
                    }
                    else
                    {
                        $(this).show();
                    }       
                });               
               
            }, 250);
        });
});

});

</script>

 

Viji

Nov 26, 2010 at 2:32 PM
Viji: You're actually loading jQuery 1.2.6 in your call to Google's CDN. That's probably at least part of the problem, as 1.2.6 is ancient. In any case, you should do some debugging to determine what errors you might be getting. It's hard to help if you just say "It does nothing". M.
Nov 26, 2010 at 3:32 PM

Thanks for your response.

Could you please let me know where can i find the new updated one also can i run this against a form library??