Hello,
just started with jQuery and would like to ask some expert for help to
revise my code.
Script is working just fine but I am bit worried about my amateur
code, think could be better..

Project problem: maintain state of checkboxes in a paginated datagrid
(selecting diff products for comparison)
Since using classic ASP needed help of jQuery.

My solution: when select checbox beside each product write a cookie
(PID) which holds array of product ID's (154+332+...) also cookie CID
for products group category (eg. 3). Each time page loads script
checks cookie which chekboxes should put in state on. Also use images
which replace chekboxes (on/off).

Code:
// check cookie and put right checkbox state--------------------------
$(document).ready(function(){
$(".compareCheck").each(function() {
var img = "off";
if ($.cookie('PID')) {
        var ca = $.cookie('PID').split("+");
        for(var i=0;i < ca.length;i++)
        { var c = ca[i];
        if (c == $(this).val()){
        img="on"}
        }}
$(this).replaceWith('<img src="img/template/checkbox-'+ img+'.gif"
class="compare" style="cursor:pointer;" id="'+ $(this).val() +'" />');
}); });


// write
cookie----------------------------------------------------------------------
$(function() {
$(".compare").click(function() {

var ID = $(this).attr("id");

if ($.cookie('CID') != '<%=cDescValueID%>')
{ $.cookie('PID', ID, { path: '/', expires: '1' });
$.cookie('CID', '<%=cDescValueID%>', { path: '/', expires: '1' });
$(this).replaceWith('<img src="img/template/checkbox-on.gif" id="'+ ID
+'" alt="Product is in compare list"/>');
return false;
} else {
var oldcookie = $.cookie('PID') + '+';
var number;
var ca = $.cookie('PID').split("+");
for(var i=0;i < ca.length;i++)
{ var c = ca[i];
if (c == ID){
ID="";
oldcookie = $.cookie('PID');}
                                        }
if (i>4 ){alert("MAX number of products to compare!");}
else {$.cookie('PID', oldcookie+ID, { path: '/', expires: '1' });
$(this).replaceWith('<img src="img/template/checkbox-on.gif" id="'+ ID
+'" />');
return false;
};};
});
});

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to